home *** CD-ROM | disk | FTP | other *** search
/ Aminet 37 / Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso / Aminet / dev / lang / sofa.lha / sofa / smalleiffel / bin_c / compile_to_c18.c < prev    next >
C/C++ Source or Header  |  2000-03-25  |  122KB  |  5,177 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.76Beta#1)--
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                  http://SmallEiffel.loria.fr/                --
  7. */
  8. #include "compile_to_c.h"
  9.  
  10.  
  11. T0* r58do_rename(T58* C,T0* a1){
  12. T0* R=NULL;
  13. /*[IF*/
  14. if(((/*RF2*/(C)->_rename_list/*12*/))==((void*)(NULL))){
  15. R=a1;
  16. }
  17. else{
  18. R=r85name_in_child((T85*)((/*RF2*/(C)->_rename_list/*12*/)),a1);
  19. /*[IF*/
  20. if((R)==((void*)(NULL))){
  21. R=a1;
  22. }
  23. /*FI]*/
  24. }
  25. /*FI]*/
  26. return R;
  27. }
  28.  
  29.  
  30. T0* r58precursor_for(T58* C,T0* a1,T0* a2){
  31. T0* R=NULL;
  32. T0* _f=NULL;
  33. T0* _cn=NULL;
  34. T0* _original_fn=NULL;
  35. _original_fn=/*SSFRF4*//*X90first_name*//*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/((T198*)(/*SSWA2*//*X334base_feature*/(/*RF2*/(((T368*)a2))->_base_feature/*24*/)))->_names/*8*/))))->_first/*0*/)/*)*/;
  36. /*[IF*/
  37. if(r58has_redefine(C,_original_fn)){
  38. _cn=/*SSWARF2*//*X167parent*/(/*RF2*/(((T168*)a1))->_parent/*12*/);
  39. /*[IF*/
  40. if(((_cn)==((void*)(NULL)))||(((/*RF2*/(((T61*)_cn))->_to_string/*8*/))==((void*)((/*RF2*/((T61*)(X52base_class_name((/*RF2*/(C)->_type/*4*/))))->_to_string/*8*/))))){
  41. _f=r58look_up_for(C,/*SSFRF4*//*X334run_class*/r368run_class(((T368*)a2)),_original_fn);
  42. R=_f;
  43. if(NULL!=(R)){
  44. switch(((T0*)R)->id){
  45. case 306:case 304:case 303:case 307:
  46. break;
  47. default:
  48. R=NULL;
  49. }
  50. }/*[IF*/
  51. if(((_f)!=((void*)(NULL)))&&((R)==((void*)(NULL)))){
  52. r66add_position(/*SSWARF2*//*X167start_position*/(/*RF2*/(((T168*)a1))->_start_position/*4*/));
  53. {T68 se_tmp0;
  54. r66add_position((*(se_tmp0=X90start_position(_f),&se_tmp0)));
  55. }
  56. r58fatal_error(((T0*)ms58_97986));
  57. }
  58. /*FI]*/
  59. }
  60. /*FI]*/
  61. }
  62. /*FI]*/
  63. return R;
  64. }
  65.  
  66.  
  67. T0* r58consider_export(T58* C,T0* a1){
  68. T0* R=NULL;
  69. /*[IF*/
  70. if(((/*RF2*/(C)->_export_list/*16*/))==((void*)(NULL))){
  71. R=r51clients_for((T51*)(X52base_class((/*RF2*/(C)->_type/*4*/))),a1);
  72. }
  73. else{
  74. R=r319clients_for((T319*)((/*RF2*/(C)->_export_list/*16*/)),a1);
  75. /*[IF*/
  76. if((R)==((void*)(NULL))){
  77. R=r51clients_for((T51*)(X52base_class((/*RF2*/(C)->_type/*4*/))),a1);
  78. }
  79. /*FI]*/
  80. }
  81. /*FI]*/
  82. return R;
  83. }
  84.  
  85.  
  86. T0* r58apply_undefine(T58* C,T0* a1,T0* a2){
  87. T0* R=NULL;
  88. T2 _index=0;
  89. T0* _fnkey=NULL;
  90. T0* _ufn=NULL;
  91. _ufn=r58has_undefine(C,a2);
  92. /*[IF*/
  93. if((_ufn)!=((void*)(NULL))){
  94. /*[IF*/
  95. if(((/*RF2*/(C)->_undefine_memory1/*32*/))==((void*)(NULL))){
  96. {T31*n=((T31*)malloc(sizeof(*n))/*16*/);
  97. *n=M31;
  98. r31with_capacity(n,r83count((T83*)((/*RF2*/(C)->_undefine_list/*20*/))));
  99. (/*SFN*/C->_undefine_memory1)=((T0*)n);
  100. }
  101. {T92*n=((T92*)malloc(sizeof(*n))/*16*/);
  102. *n=M92;
  103. r92with_capacity(n,r83count((T83*)((/*RF2*/(C)->_undefine_list/*20*/))));
  104. (/*SFN*/C->_undefine_memory2)=((T0*)n);
  105. }
  106. }
  107. /*FI]*/
  108. _fnkey=X82to_key(_ufn);
  109. _index=r31fast_index_of((T31*)((/*RF2*/(C)->_undefine_memory1/*32*/)),_fnkey);
  110. /*[IF*/
  111. if((_index)>((/*RF2*/((T31*)((/*RF2*/(C)->_undefine_memory1/*32*/)))->_upper/*12*/))){
  112. r31add_last((T31*)((/*RF2*/(C)->_undefine_memory1/*32*/)),_fnkey);
  113. R=X90try_to_undefine(a1,_ufn,(/*RF2*/((T57*)((/*RF2*/(C)->_parent_list/*0*/)))->_base_class/*0*/));
  114. X92add_last((/*RF2*/(C)->_undefine_memory2/*36*/),R);
  115. }
  116. else{
  117. R=X92item((/*RF2*/(C)->_undefine_memory2/*36*/),_index);
  118. }
  119. /*FI]*/
  120. }
  121. else{
  122. R=a1;
  123. }
  124. /*FI]*/
  125. return R;
  126. }
  127.  
  128.  
  129. T6 r58is_a_vncg(T58* C,T0* a1,T0* a2){
  130. T6 R=0;
  131. T0* _t2_bcn=NULL;
  132. T0* _type_bcn=NULL;
  133. T0* _t2_bc=NULL;
  134. T0* _type_bc=NULL;
  135. T0* _rt=NULL;
  136. T0* _tfg=NULL;
  137. T0* _gl2=NULL;
  138. T0* _gl1=NULL;
  139. T0* _gl=NULL;
  140. T2 _i=0;
  141. T2 _rank=0;
  142. _type_bc=X52base_class((/*RF2*/(C)->_type/*4*/));
  143. _type_bcn=(/*RF2*/((T61*)((/*RF2*/(((T51*)_type_bc))->_name/*18*/)))->_to_string/*8*/);
  144. _t2_bc=X52base_class(a2);
  145. _t2_bcn=(/*RF2*/((T61*)((/*RF2*/(((T51*)_t2_bc))->_name/*18*/)))->_to_string/*8*/);
  146. /*[IF*/
  147. if((_type_bcn)==((void*)(_t2_bcn))){
  148. _gl=X52generic_list((/*RF2*/(C)->_type/*4*/));
  149. _gl2=X52generic_list(a2);
  150. /*[IF*/
  151. if(((_gl)==((void*)(NULL)))||((r258count(((T258*)_gl)))!=(r258count(((T258*)_gl2))))){
  152. {T68 se_tmp0;
  153. r66add_position((*(se_tmp0=X52start_position((/*RF2*/(C)->_type/*4*/)),&se_tmp0)));
  154. }
  155. {T68 se_tmp0;
  156. r66add_position((*(se_tmp0=X52start_position(a2),&se_tmp0)));
  157. }
  158. r58fatal_error(((T0*)ms58_60064));
  159. }
  160. /*FI]*/
  161. /*[IF*/
  162. if(X52is_generic(a1)){
  163. _gl1=X52generic_list(a1);
  164. R=1;
  165. _i=r258count(((T258*)_gl2));
  166. while (!((!(R))||((_i)==(0))))
  167. {
  168. /*[IF*/
  169. if(X52is_formal_generic(r258item(((T258*)_gl),_i))){
  170. _tfg=r258item(((T258*)_gl),_i);
  171. if(NULL!=(_tfg)){
  172. switch(((T0*)_tfg)->id){
  173. case 280:
  174. break;
  175. default:
  176. _tfg=NULL;
  177. }
  178. }_rank=(/*RF2*/(((T280*)_tfg))->_rank/*8*/);
  179. R=X52is_a(r258item(((T258*)_gl1),_rank),r258item(((T258*)_gl2),_i));
  180. }
  181. else{
  182. _rt=X52run_type(X52to_runnable(r258item(((T258*)_gl),_i),a1));
  183. R=X52is_a(_rt,r258item(((T258*)_gl2),_i));
  184. }
  185. /*FI]*/
  186. _i=(_i)-(1);
  187. }
  188. }
  189. else{
  190. R=X52is_a((/*RF2*/(C)->_type/*4*/),a2);
  191. }
  192. /*FI]*/
  193. /*[IF*/
  194. if(!(R)){
  195. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
  196. /*]*/
  197. /*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
  198. /*]*/
  199. /*]*/
  200. }
  201. /*FI]*/
  202. }
  203.  else if(r51is_subclass_of(((T51*)_type_bc),_t2_bc)){
  204. /*[IF*/
  205. if(X52is_generic(a1)){
  206. _rt=X52run_type(X52to_runnable((/*RF2*/(C)->_type/*4*/),a1));
  207. R=r51is_a_vncg(((T51*)_type_bc),_rt,a2);
  208. }
  209. else{
  210. R=r51is_a_vncg(((T51*)_type_bc),(/*RF2*/(C)->_type/*4*/),a2);
  211. }
  212. /*FI]*/
  213. /*[IF*/
  214. if(!(R)){
  215. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
  216. /*]*/
  217. /*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
  218. /*]*/
  219. /*]*/
  220. }
  221. /*FI]*/
  222. }
  223. /*FI]*/
  224. return R;
  225. }
  226.  
  227.  
  228. T0* r58base_class(T58* C){
  229. T0* R=NULL;
  230. R=X52base_class((/*RF2*/(C)->_type/*4*/));
  231. return R;
  232. }
  233.  
  234.  
  235. T0* r58look_up_for(T58* C,T0* a1,T0* a2){
  236. T0* R=NULL;
  237. T0* _pfn=NULL;
  238. /*[IF*/
  239. if(((/*RF2*/(C)->_rename_list/*12*/))==((void*)(NULL))){
  240. R=X52look_up_for((/*RF2*/(C)->_type/*4*/),a1,a2);
  241. R=r58apply_undefine(C,R,a2);
  242. }
  243. else{
  244. _pfn=r85name_in_parent((T85*)((/*RF2*/(C)->_rename_list/*12*/)),a2);
  245. /*[IF*/
  246. if((_pfn)!=((void*)(NULL))){
  247. R=X52look_up_for((/*RF2*/(C)->_type/*4*/),a1,_pfn);
  248. R=r58apply_undefine(C,R,a2);
  249. }
  250. /*FI]*/
  251. }
  252. /*FI]*/
  253. return R;
  254. }
  255.  
  256.  
  257. T0* r58original_name(T58* C,T0* a1,T0* a2){
  258. T0* R=NULL;
  259. T0* _bc=NULL;
  260. T0* _old_name=NULL;
  261. _bc=X52base_class((/*RF2*/(C)->_type/*4*/));
  262. /*[IF*/
  263. if(((_bc)==((void*)(a1)))||(r51is_subclass_of(((T51*)_bc),a1))){
  264. /*[IF*/
  265. if(((/*RF2*/(C)->_rename_list/*12*/))==((void*)(NULL))){
  266. R=r51original_name(((T51*)_bc),a1,a2);
  267. }
  268. else{
  269. _old_name=r85name_in_parent((T85*)((/*RF2*/(C)->_rename_list/*12*/)),a2);
  270. /*[IF*/
  271. if((_old_name)!=((void*)(NULL))){
  272. R=r51original_name(((T51*)_bc),a1,_old_name);
  273. }
  274. /*FI]*/
  275. }
  276. /*FI]*/
  277. }
  278. /*FI]*/
  279. return R;
  280. }
  281.  
  282.  
  283. void r58get_started(T58* C,T0* a1){
  284. T6 _all_check=0;
  285. T0* _new_fn=NULL;
  286. T0* _old_fn=NULL;
  287. T0* _fn=NULL;
  288. T0* _pbc=NULL;
  289. T0* _wbc=NULL;
  290. T2 _i=0;
  291. _all_check=r47all_check((T47*)(oBC13run_control));
  292. (/*SFN*/C->_parent_list)=a1;
  293. _pbc=X52base_class((/*RF2*/(C)->_type/*4*/));
  294. _wbc=(/*RF2*/((T57*)((/*RF2*/(C)->_parent_list/*0*/)))->_base_class/*0*/);
  295. /*[IF*/
  296. if(_all_check){
  297. /*[IF*/
  298. if(((/*RF2*/(((T51*)_pbc))->_formal_generic_list/*22*/))!=((void*)(NULL))){
  299. /*[IF*/
  300. if((X52generic_list((/*RF2*/(C)->_type/*4*/)))==((void*)(NULL))){
  301. }
  302. /*FI]*/
  303. }
  304.  else if(X52is_generic((/*RF2*/(C)->_type/*4*/))){
  305. r66add_position((/*RF2*/((T61*)((/*RF2*/(((T51*)_pbc))->_name/*18*/)))->_start_position/*0*/));
  306. {T68 se_tmp0;
  307. r66add_position((*(se_tmp0=X52start_position((/*RF2*/(C)->_type/*4*/)),&se_tmp0)));
  308. }
  309. r58fatal_error(((T0*)ms58_71750));
  310. }
  311. /*FI]*/
  312. }
  313. /*FI]*/
  314. /*[IF*/
  315. if((_all_check)&&(((/*RF2*/(C)->_rename_list/*12*/))!=((void*)(NULL)))){
  316. r85get_started((T85*)((/*RF2*/(C)->_rename_list/*12*/)),_pbc);
  317. }
  318. /*FI]*/
  319. /*[IF*/
  320. if((_all_check)&&(((/*RF2*/(C)->_undefine_list/*20*/))!=((void*)(NULL)))){
  321. _i=r83count((T83*)((/*RF2*/(C)->_undefine_list/*20*/)));
  322. while (!((_i)==(0)))
  323. {
  324. _fn=r83item((T83*)((/*RF2*/(C)->_undefine_list/*20*/)),_i);
  325. _old_fn=r58get_old_name(C,_fn);
  326. /*[IF*/
  327. if(((_old_fn)==((void*)(NULL)))&&(!(r51has(((T51*)_pbc),_fn)))){
  328. {T68 se_tmp0;
  329. r66add_position((*(se_tmp0=X82start_position(_fn),&se_tmp0)));
  330. }
  331. r58fatal_error(((T0*)ms58_120106a));
  332. }
  333. /*FI]*/
  334. _i=(_i)-(1);
  335. }
  336. }
  337. /*FI]*/
  338. /*[IF*/
  339. if(((/*RF2*/(C)->_redefine_list/*24*/))!=((void*)(NULL))){
  340. _i=r83count((T83*)((/*RF2*/(C)->_redefine_list/*24*/)));
  341. while (!((_i)==(0)))
  342. {
  343. _fn=r83item((T83*)((/*RF2*/(C)->_redefine_list/*24*/)),_i);
  344. /*[IF*/
  345. if(!(r51proper_has(((T51*)_wbc),_fn))){
  346. {T68 se_tmp0;
  347. r66add_position((*(se_tmp0=X82start_position(_fn),&se_tmp0)));
  348. }
  349. r58fatal_error(((T0*)ms58_35512));
  350. }
  351. /*FI]*/
  352. /*[IF*/
  353. if(_all_check){
  354. _old_fn=r58get_old_name(C,_fn);
  355. /*[IF*/
  356. if(((_old_fn)==((void*)(NULL)))&&(!(r51has(((T51*)_pbc),_fn)))){
  357. {T68 se_tmp0;
  358. r66add_position((*(se_tmp0=X82start_position(_fn),&se_tmp0)));
  359. }
  360. r58fatal_error(((T0*)ms58_120106));
  361. }
  362. /*FI]*/
  363. _new_fn=r58get_new_name(C,_fn);
  364. /*[IF*/
  365. if((_new_fn)!=((void*)(NULL))){
  366. {T68 se_tmp0;
  367. r66add_position((*(se_tmp0=X82start_position(_new_fn),&se_tmp0)));
  368. }
  369. {T68 se_tmp0;
  370. r66add_position((*(se_tmp0=X82start_position(_fn),&se_tmp0)));
  371. }
  372. r58fatal_error(((T0*)ms58_120106));
  373. }
  374. /*FI]*/
  375. }
  376. /*FI]*/
  377. _i=(_i)-(1);
  378. }
  379. }
  380. /*FI]*/
  381. /*[IF*/
  382. if((_all_check)&&(((/*RF2*/(C)->_select_list/*28*/))!=((void*)(NULL)))){
  383. _i=r83count((T83*)((/*RF2*/(C)->_select_list/*28*/)));
  384. while (!((_i)==(0)))
  385. {
  386. _fn=r83item((T83*)((/*RF2*/(C)->_select_list/*28*/)),_i);
  387. _old_fn=r58get_old_name(C,_fn);
  388. /*[IF*/
  389. if(((_old_fn)==((void*)(NULL)))&&(!(r51has(((T51*)_pbc),_fn)))){
  390. {T68 se_tmp0;
  391. r66add_position((*(se_tmp0=X82start_position(_fn),&se_tmp0)));
  392. }
  393. r58fatal_error(((T0*)ms58_101934));
  394. }
  395. /*FI]*/
  396. _new_fn=r58get_new_name(C,_fn);
  397. /*[IF*/
  398. if((_new_fn)!=((void*)(NULL))){
  399. /*[IF*/
  400. if((r58get_old_name(C,_new_fn))==((void*)(NULL))){
  401. {T68 se_tmp0;
  402. r66add_position((*(se_tmp0=X82start_position(_new_fn),&se_tmp0)));
  403. }
  404. {T68 se_tmp0;
  405. r66add_position((*(se_tmp0=X82start_position(_fn),&se_tmp0)));
  406. }
  407. r58fatal_error(((T0*)ms58_101934));
  408. }
  409. /*FI]*/
  410. }
  411. /*FI]*/
  412. _i=(_i)-(1);
  413. }
  414. }
  415. /*FI]*/
  416. }
  417. T0*oBC58forbidden_parent_list=NULL;
  418.  
  419.  
  420. T0* r58up_to_original(T58* C,T0* a1,T0* a2){
  421. T0* R=NULL;
  422. T0* _bc=NULL;
  423. T0* _old_name=NULL;
  424. _bc=X52base_class((/*RF2*/(C)->_type/*4*/));
  425. /*[IF*/
  426. if(((/*RF2*/(C)->_rename_list/*12*/))==((void*)(NULL))){
  427. R=r51up_to_original(((T51*)_bc),a1,a2);
  428. }
  429. else{
  430. _old_name=r85name_in_parent((T85*)((/*RF2*/(C)->_rename_list/*12*/)),a2);
  431. /*[IF*/
  432. if((_old_name)!=((void*)(NULL))){
  433. R=r51up_to_original(((T51*)_bc),a1,_old_name);
  434. }
  435. /*FI]*/
  436. }
  437. /*FI]*/
  438. return R;
  439. }
  440.  
  441.  
  442. void r58missing_select(T0* a1,T0* a2){
  443. {T68 se_tmp0;
  444. r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
  445. }
  446. {T68 se_tmp0;
  447. r66add_position((*(se_tmp0=X82start_position(a2),&se_tmp0)));
  448. }
  449. r58fatal_error(((T0*)ms58_98523));
  450. }
  451.  
  452.  
  453. T0* r58going_up(T58* C,T0* a1,T0* a2,T0* a3){
  454. T0* R=NULL;
  455. T0* _bc=NULL;
  456. _bc=X52base_class((/*RF2*/(C)->_type/*4*/));
  457. /*[IF*/
  458. if((_bc)==((void*)(a2))){
  459. R=r58going_down(C,a1,a3);
  460. }
  461.  else if(r51is_general(((T51*)_bc))){
  462. R=r58going_down(C,a1,a3);
  463. }
  464.  else if(r51is_subclass_of(((T51*)_bc),a2)){
  465. r360add_last(((T360*)a1),(T0*)C);
  466. R=r51going_up(((T51*)_bc),a1,a2,a3);
  467. }
  468. /*FI]*/
  469. return R;
  470. }
  471.  
  472.  
  473. T6 r58has_redefine(T58* C,T0* a1){
  474. T6 R=0;
  475. /*[IF*/
  476. if(((/*RF2*/(C)->_redefine_list/*24*/))!=((void*)(NULL))){
  477. R=r83has((T83*)((/*RF2*/(C)->_redefine_list/*24*/)),a1);
  478. }
  479. /*FI]*/
  480. return R;
  481. }
  482.  
  483.  
  484. T0* r58get_new_name(T58* C,T0* a1){
  485. T0* R=NULL;
  486. /*[IF*/
  487. if(((/*RF2*/(C)->_rename_list/*12*/))!=((void*)(NULL))){
  488. R=r85name_in_child((T85*)((/*RF2*/(C)->_rename_list/*12*/)),a1);
  489. /*[IF*/
  490. if((R)==((void*)(a1))){
  491. R=NULL;
  492. }
  493. /*FI]*/
  494. }
  495. /*FI]*/
  496. return R;
  497. }
  498.  
  499.  
  500. void r58make(T58* C,T0* a1){
  501. (/*SFN*/C->_type)=a1;
  502. /*[IF*/
  503. if(r44fast_has((T44*)(oBC58forbidden_parent_list),X52written_mark((/*RF2*/(C)->_type/*4*/)))){
  504. {T68 se_tmp0;
  505. r66add_position((*(se_tmp0=X52start_position((/*RF2*/(C)->_type/*4*/)),&se_tmp0)));
  506. }
  507. /*[IRF3.6append*/{T0* b1=((T0*)ms58_22560);
  508. r7append((T7*)(oBC66explanation),b1);
  509. }/*]*/
  510. /*[IRF3.6append*/{T0* b1=X52written_mark((/*RF2*/(C)->_type/*4*/));
  511. r7append((T7*)(oBC66explanation),b1);
  512. }/*]*/
  513. r58fatal_error(((T0*)ms58_34344));
  514. }
  515. /*FI]*/
  516. }
  517.  
  518.  
  519. T0* r58get_old_name(T58* C,T0* a1){
  520. T0* R=NULL;
  521. /*[IF*/
  522. if(((/*RF2*/(C)->_rename_list/*12*/))!=((void*)(NULL))){
  523. R=r85name_in_parent((T85*)((/*RF2*/(C)->_rename_list/*12*/)),a1);
  524. /*[IF*/
  525. if((R)==((void*)(a1))){
  526. R=NULL;
  527. }
  528. /*FI]*/
  529. }
  530. /*FI]*/
  531. return R;
  532. }
  533.  
  534.  
  535. void r58fatal_error(T0* a1){
  536. /*[IRF3.6append*/{T0* b1=a1;
  537. r7append((T7*)(oBC66explanation),b1);
  538. }/*]*/
  539. r66print_as_fatal_error((T66*)(oBC13eh));
  540. }
  541.  
  542.  
  543. void r58multiple_check(T58* C,T0* a1){
  544. T0* _fn2=NULL;
  545. T0* _fn1=NULL;
  546. T2 _i=0;
  547. T0* _bc2=NULL;
  548. T0* _bc1=NULL;
  549. _bc1=X52base_class((/*RF2*/(C)->_type/*4*/));
  550. _bc2=X52base_class((/*RF2*/(((T58*)a1))->_type/*4*/));
  551. /*[IF*/
  552. if((((_bc1)==((void*)(_bc2)))||(r51is_subclass_of(((T51*)_bc1),_bc2)))||(r51is_subclass_of(((T51*)_bc2),_bc1))){
  553. /*[IF*/
  554. if(((/*RF2*/(C)->_redefine_list/*24*/))!=((void*)(NULL))){
  555. _i=r83count((T83*)((/*RF2*/(C)->_redefine_list/*24*/)));
  556. while (!((_i)==(0)))
  557. {
  558. _fn1=r83item((T83*)((/*RF2*/(C)->_redefine_list/*24*/)),_i);
  559. /*[IF*/
  560. if(((/*RF2*/(((T58*)a1))->_rename_list/*12*/))==((void*)(NULL))){
  561. }
  562. else{
  563. _fn2=r85name_in_child((T85*)((/*RF2*/(((T58*)a1))->_rename_list/*12*/)),_fn1);
  564. /*[IF*/
  565. if((_fn2)!=((void*)(_fn1))){
  566. /*[IF*/
  567. if(((/*RF2*/(C)->_select_list/*28*/))!=((void*)(NULL))){
  568. /*[IF*/
  569. if(r83has((T83*)((/*RF2*/(C)->_select_list/*28*/)),_fn1)){
  570. /*[IF*/
  571. if(((/*RF2*/(((T58*)a1))->_select_list/*28*/))!=((void*)(NULL))){
  572. /*[IF*/
  573. if(r83has((T83*)((/*RF2*/(((T58*)a1))->_select_list/*28*/)),_fn2)){
  574. r58select_conflict(_fn1,_fn2);
  575. }
  576. /*FI]*/
  577. }
  578. /*FI]*/
  579. }
  580.  else if(((/*RF2*/(((T58*)a1))->_select_list/*28*/))==((void*)(NULL))){
  581. r58missing_select(_fn1,_fn2);
  582. }
  583.  else if(!(r83has((T83*)((/*RF2*/(((T58*)a1))->_select_list/*28*/)),_fn2))){
  584. r58missing_select(_fn1,_fn2);
  585. }
  586. /*FI]*/
  587. }
  588.  else if(((/*RF2*/(((T58*)a1))->_select_list/*28*/))==((void*)(NULL))){
  589. r58missing_select(_fn1,_fn2);
  590. }
  591.  else if(!(r83has((T83*)((/*RF2*/(((T58*)a1))->_select_list/*28*/)),_fn2))){
  592. r58missing_select(_fn1,_fn2);
  593. }
  594. /*FI]*/
  595. }
  596. /*FI]*/
  597. }
  598. /*FI]*/
  599. _i=(_i)-(1);
  600. }
  601. }
  602. /*FI]*/
  603. }
  604. /*FI]*/
  605. }
  606.  
  607.  
  608. T6 r58has_select_for(T58* C,T0* a1){
  609. T6 R=0;
  610. /*[IF*/
  611. if(((/*RF2*/(C)->_select_list/*28*/))!=((void*)(NULL))){
  612. R=r83has((T83*)((/*RF2*/(C)->_select_list/*28*/)),a1);
  613. }
  614. /*FI]*/
  615. return R;
  616. }
  617.  
  618.  
  619. T0* r58name_in_parent(T58* C,T0* a1){
  620. T0* R=NULL;
  621. /*[IF*/
  622. if(((/*RF2*/(C)->_rename_list/*12*/))==((void*)(NULL))){
  623. R=a1;
  624. }
  625. else{
  626. R=r85name_in_parent((T85*)((/*RF2*/(C)->_rename_list/*12*/)),a1);
  627. }
  628. /*FI]*/
  629. return R;
  630. }
  631.  
  632.  
  633. T0* r58has_undefine(T58* C,T0* a1){
  634. T0* R=NULL;
  635. /*[IF*/
  636. if(((/*RF2*/(C)->_undefine_list/*20*/))!=((void*)(NULL))){
  637. R=r83feature_name((T83*)((/*RF2*/(C)->_undefine_list/*20*/)),X82to_key(a1));
  638. }
  639. /*FI]*/
  640. return R;
  641. }
  642.  
  643.  
  644. T0* r58clients_for(T58* C,T0* a1){
  645. T0* R=NULL;
  646. T0* _fn2=NULL;
  647. /*[IF*/
  648. if(((/*RF2*/(C)->_rename_list/*12*/))==((void*)(NULL))){
  649. R=r58consider_export(C,a1);
  650. }
  651. else{
  652. _fn2=r85name_in_parent((T85*)((/*RF2*/(C)->_rename_list/*12*/)),a1);
  653. /*[IF*/
  654. if((_fn2)!=((void*)(NULL))){
  655. R=r58consider_export(C,_fn2);
  656. }
  657. /*FI]*/
  658. }
  659. /*FI]*/
  660. return R;
  661. }
  662.  
  663.  
  664. T0* r58e_feature(T58* C,T0* a1){
  665. T0* R=NULL;
  666. T0* _fn2=NULL;
  667. /*[IF*/
  668. if(((/*RF2*/(C)->_rename_list/*12*/))==((void*)(NULL))){
  669. R=r51e_feature((T51*)(X52base_class((/*RF2*/(C)->_type/*4*/))),a1);
  670. }
  671. else{
  672. _fn2=r85name_in_parent((T85*)((/*RF2*/(C)->_rename_list/*12*/)),a1);
  673. /*[IF*/
  674. if((_fn2)!=((void*)(NULL))){
  675. R=r51e_feature((T51*)(X52base_class((/*RF2*/(C)->_type/*4*/))),_fn2);
  676. }
  677. /*FI]*/
  678. }
  679. /*FI]*/
  680. return R;
  681. }
  682.  
  683.  
  684. void r58select_conflict(T0* a1,T0* a2){
  685. {T68 se_tmp0;
  686. r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
  687. }
  688. {T68 se_tmp0;
  689. r66add_position((*(se_tmp0=X82start_position(a2),&se_tmp0)));
  690. }
  691. r58fatal_error(((T0*)ms58_73570));
  692. }
  693.  
  694.  
  695. void r58add_rename(T58* C,T0* a1){
  696. /*[IF*/
  697. if(((/*RF2*/(C)->_rename_list/*12*/))==((void*)(NULL))){
  698. {T85*n=((T85*)malloc(sizeof(*n))/*4*/);
  699. *n=M85;
  700. r85make(n,a1);
  701. (/*SFN*/C->_rename_list)=((T0*)n);
  702. }
  703. }
  704. else{
  705. /*[IRF3.5add_last*/r88add_last(((T88*)((/*RF2*/((T85*)((/*RF2*/(C)->_rename_list/*12*/)))->_list/*0*/))),a1);
  706. /*]*/
  707. }
  708. /*FI]*/
  709. }
  710.  
  711.  
  712. T68 r58start_position(T58* C){
  713. T68 R={NULL,0};
  714. {T68 se_tmp0;
  715. R=(*(se_tmp0=X52start_position((/*RF2*/(C)->_type/*4*/)),&se_tmp0));
  716. }
  717. return R;
  718. }
  719.  
  720.  
  721. void r295c_mapping_procedure(T0* a1,T0* a2,T0* a3){
  722. /*[IF*/
  723. if(r47boost((T47*)(oBC13run_control))){
  724. r295c_mapping_external((/*RF2*/(((T337*)a1))->_base_feature/*24*/),r337arg_count(((T337*)a1)));
  725. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
  726. /*]*/
  727. }
  728. else{
  729. r337default_mapping_procedure(((T337*)a1));
  730. }
  731. /*FI]*/
  732. }
  733.  
  734.  
  735. void r295c_mapping_function(T0* a1,T0* a2,T0* a3){
  736. /*[IF*/
  737. if(r47boost((T47*)(oBC13run_control))){
  738. r295c_mapping_external((/*RF2*/(((T333*)a1))->_base_feature/*24*/),r333arg_count(((T333*)a1)));
  739. }
  740. else{
  741. r333default_mapping_function(((T333*)a1));
  742. }
  743. /*FI]*/
  744. }
  745.  
  746.  
  747. void r295standard_c_define_procedure(T0* a1,T0* a2,T0* a3){
  748. /*[IF*/
  749. /*AF*//*AE*/
  750. /*FI]*/
  751. /*[IF*/
  752. if(r47no_check((T47*)(oBC13run_control))){
  753. /*[IRF3.3clear*/((((T7*)((T7*)(oBC288body))))->_count)=(0);
  754. /*]*/
  755. r295wrapped_external_call((/*RF2*/(((T337*)a1))->_base_feature/*24*/),r337arg_count(((T337*)a1)));
  756. r337c_define_with_body(((T337*)a1),oBC288body);
  757. }
  758. /*FI]*/
  759. }
  760.  
  761.  
  762. void r295standard_c_define_function(T0* a1,T0* a2,T0* a3){
  763. /*[IF*/
  764. /*AF*//*AE*/
  765. /*FI]*/
  766. /*[IF*/
  767. if(r47no_check((T47*)(oBC13run_control))){
  768. /*[IRF3.3clear*/((((T7*)((T7*)(oBC288body))))->_count)=(0);
  769. /*]*/
  770. r7extend((T7*)(oBC288body),((T3)'R'));
  771. r7extend((T7*)(oBC288body),((T3)'\75'));
  772. r295wrapped_external_call((/*RF2*/(((T333*)a1))->_base_feature/*24*/),r333arg_count(((T333*)a1)));
  773. r333c_define_with_body(((T333*)a1),oBC288body);
  774. }
  775. /*FI]*/
  776. }
  777.  
  778.  
  779. void r295wrapped_external_call(T0* a1,T2 a2){
  780. T2 _i=0;
  781. r7append((T7*)(oBC288body),/*SSFRF4*//*X289external_c_name*/r291external_c_name(((T291*)a1)));
  782. r7extend((T7*)(oBC288body),((T3)'\50'));
  783. /*[IF*/
  784. {/*AT*/r7extend((T7*)(oBC288body),((T3)'C'));
  785. /*[IF*/
  786. if((a2)>(0)){
  787. r7extend((T7*)(oBC288body),((T3)'\54'));
  788. }
  789. /*FI]*/
  790. }
  791. /*FI]*/
  792. _i=1;
  793. while (!((_i)>(a2)))
  794. {
  795. r7extend((T7*)(oBC288body),((T3)'a'));
  796. r2append_in(_i,oBC288body);
  797. _i=(_i)+(1);
  798. /*[IF*/
  799. if((_i)<=(a2)){
  800. r7extend((T7*)(oBC288body),((T3)'\54'));
  801. }
  802. /*FI]*/
  803. }
  804. r7append((T7*)(oBC288body),((T0*)ms14_330));
  805. }
  806.  
  807.  
  808. void r295c_mapping_external(T0* a1,T2 a2){
  809. T6 _tcbd=0;
  810. T6 _eruc=0;
  811. _eruc=/*(IRF4.2use_current*/(1)/*)*/;
  812. /*[IF*/
  813. if(!(_eruc)){
  814. _tcbd=r325target_cannot_be_dropped((T325*)(oBC13cpp));
  815. /*[IF*/
  816. if(_tcbd){
  817. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  818. T3 b1=((T3)'\54');
  819. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  820. }/*]*/
  821. /*]*/
  822. }
  823. /*FI]*/
  824. }
  825. /*FI]*/
  826. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),/*SSFRF4*//*X289external_c_name*/r291external_c_name(((T291*)a1)));
  827. /*]*/
  828. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  829. T3 b1=((T3)'\50');
  830. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  831. }/*]*/
  832. /*]*/
  833. /*[IF*/
  834. if(_eruc){
  835. r325put_target_as_value((T325*)(oBC13cpp));
  836. }
  837. /*FI]*/
  838. /*[IF*/
  839. if((a2)>(0)){
  840. /*[IF*/
  841. if(_eruc){
  842. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  843. T3 b1=((T3)'\54');
  844. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  845. }/*]*/
  846. /*]*/
  847. }
  848. /*FI]*/
  849. r325put_arguments((T325*)(oBC13cpp));
  850. }
  851. /*FI]*/
  852. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  853. T3 b1=((T3)'\51');
  854. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  855. }/*]*/
  856. /*]*/
  857. /*[IF*/
  858. if((!(_eruc))&&(_tcbd)){
  859. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  860. T3 b1=((T3)'\51');
  861. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  862. }/*]*/
  863. /*]*/
  864. }
  865. /*FI]*/
  866. }
  867.  
  868.  
  869. T6 r218is_always_true(T218* C){
  870. T6 R=0;
  871. T0* _assertion=NULL;
  872. T2 _i=0;
  873. _i=(/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/);
  874. R=1;
  875. while (!((!(R))||((_i)==(0))))
  876. {
  877. _assertion=r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i);
  878. R=r100is_always_true(((T100*)_assertion));
  879. _i=(_i)-(1);
  880. }
  881. return R;
  882. }
  883.  
  884.  
  885. T0* r218check_assertion_mode(void){
  886. T0* R=NULL;
  887. R=((T0*)ms218_966);
  888. return R;
  889. }
  890.  
  891.  
  892. void r218make(T218* C,T68 a1,T0* a2,T0* a3){
  893. (/*SFN*/C->_start_position)=a1;
  894. (/*SFN*/C->_header_comment)=a2;
  895. (/*SFN*/C->_list)=a3;
  896. }
  897.  
  898.  
  899. void r218compile_to_c(T218* C){
  900. T0* _assertion=NULL;
  901. T6 _need_se_tmp=0;
  902. T2 _i=0;
  903. /*[IF*/
  904. if(r218is_always_true(C)){
  905. r325increment_static_expression_count((T325*)(oBC13cpp),r101count((T101*)((/*RF2*/(C)->_list/*12*/))));
  906. }
  907. else{
  908. /*[IF*/
  909. if(((/*RF2*/(C)->_run_feature/*20*/))==((void*)(NULL))){
  910. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_51064));
  911. /*]*/
  912. }
  913. else{
  914. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_741));
  915. /*]*/
  916. /*SSPRF3*//*X334c_assertion_flag*/r368c_assertion_flag((T368*)((/*RF2*/(C)->_run_feature/*20*/)));
  917. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_522));
  918. /*]*/
  919. /*SSPRF3*//*X334c_assertion_flag*/r368c_assertion_flag((T368*)((/*RF2*/(C)->_run_feature/*20*/)));
  920. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_712));
  921. /*]*/
  922. }
  923. /*FI]*/
  924. _i=1;
  925. while (!((_i)>((/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/))))
  926. {
  927. _assertion=r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i);
  928. /*[IF*/
  929. if(r100is_always_true(((T100*)_assertion))){
  930. }
  931. else{
  932. r100collect_c_tmp(((T100*)_assertion));
  933. _need_se_tmp=r325se_tmp_open_declaration((T325*)(oBC13cpp));
  934. /*[IRF3.3set_check_assertion_mode*/((((T325*)((T325*)(oBC13cpp))))->_check_assertion_mode)=(r218check_assertion_mode());
  935. /*]*/
  936. r100compile_to_c(((T100*)_assertion));
  937. /*[IF*/
  938. if(_need_se_tmp){
  939. r325se_tmp_close_declaration((T325*)(oBC13cpp));
  940. }
  941. /*FI]*/
  942. }
  943. /*FI]*/
  944. _i=(_i)+(1);
  945. }
  946. /*[IF*/
  947. if(((/*RF2*/(C)->_run_feature/*20*/))==((void*)(NULL))){
  948. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_19791));
  949. /*]*/
  950. }
  951. else{
  952. /*SSPRF3*//*X334c_assertion_flag*/r368c_assertion_flag((T368*)((/*RF2*/(C)->_run_feature/*20*/)));
  953. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_2184));
  954. /*]*/
  955. }
  956. /*FI]*/
  957. }
  958. /*FI]*/
  959. }
  960.  
  961.  
  962. void r218afd_check(T218* C){
  963. T2 _i=0;
  964. /*[IF*/
  965. if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
  966. _i=(/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/);
  967. while (!((_i)==(0)))
  968. {
  969. r100afd_check((T100*)(r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i)));
  970. _i=(_i)-(1);
  971. }
  972. }
  973. /*FI]*/
  974. }
  975.  
  976.  
  977. T6 r218use_current(T218* C){
  978. T6 R=0;
  979. T2 _i=0;
  980. /*[IF*/
  981. if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
  982. _i=(/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/);
  983. while (!((R)||((_i)==(0))))
  984. {
  985. R=r100use_current((T100*)(r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i)));
  986. _i=(_i)-(1);
  987. }
  988. }
  989. /*FI]*/
  990. return R;
  991. }
  992.  
  993.  
  994. T0* r218to_runnable(T218* C,T0* a1){
  995. T0* R=NULL;
  996. /*[IF*/
  997. if(((/*RF2*/(C)->_current_type/*16*/))==((void*)(NULL))){
  998. (/*SFN*/C->_current_type)=a1;
  999. (/*SFN*/C->_run_feature)=r49top_rf((T49*)(oBC13small_eiffel));
  1000. /*[IF*/
  1001. if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
  1002. (/*SFN*/C->_list)=r383runnable((/*RF2*/(C)->_list/*12*/),a1,(/*RF2*/(C)->_run_feature/*20*/),((T3)'\137'));
  1003. }
  1004. /*FI]*/
  1005. /*[IF*/
  1006. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  1007. R=((T0*)(C));
  1008. }
  1009. /*FI]*/
  1010. }
  1011. else{
  1012. R=r218twin(C);
  1013. /*[IRF3.3set_current_type*/((((T218*)(((T218*)R))))->_current_type)=(NULL);
  1014. /*]*/
  1015. R=r218to_runnable(((T218*)R),a1);
  1016. }
  1017. /*FI]*/
  1018. return R;
  1019. }
  1020.  
  1021.  
  1022. T0* r218twin(T218* C){
  1023. T0* R=NULL;
  1024. R=malloc(sizeof(*C));
  1025. *((T218*)R)=*C;
  1026. return R;
  1027. }
  1028.  
  1029.  
  1030. T6 r218is_pre_computable(T218* C){
  1031. T6 R=0;
  1032. T2 _i=0;
  1033. /*[IF*/
  1034. if(((/*RF2*/(C)->_list/*12*/))==((void*)(NULL))){
  1035. R=1;
  1036. }
  1037. else{
  1038. _i=(/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/);
  1039. R=1;
  1040. while (!((!(R))||((_i)==(0))))
  1041. {
  1042. R=r100is_pre_computable((T100*)(r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i)));
  1043. _i=(_i)-(1);
  1044. }
  1045. }
  1046. /*FI]*/
  1047. return R;
  1048. }
  1049.  
  1050.  
  1051. T0* r205try_to_undefine_aux(T205* C,T0* a1,T0* a2){
  1052. T0* R=NULL;
  1053. {T68 se_tmp0;
  1054. r66add_position((*(se_tmp0=r205start_position(C),&se_tmp0)));
  1055. }
  1056. {T68 se_tmp0;
  1057. r205error((*(se_tmp0=X82start_position(a1),&se_tmp0)),((T0*)ms200_98784));
  1058. }
  1059. r51fatal_undefine(((T51*)a2),a1);
  1060. return R;
  1061. }
  1062.  
  1063.  
  1064. T0* r205try_to_undefine(T205* C,T0* a1,T0* a2){
  1065. T0* R=NULL;
  1066. T0* _fn2=NULL;
  1067. {T68 se_tmp0;
  1068. r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
  1069. }
  1070. _fn2=r83feature_name((T83*)((/*RF2*/(C)->_names/*8*/)),X82to_key(a1));
  1071. /*[IF*/
  1072. if((_fn2)!=((void*)(NULL))){
  1073. X82undefine_in(_fn2,a2);
  1074. }
  1075. /*FI]*/
  1076. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
  1077. /*]*/
  1078. /*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
  1079. /*]*/
  1080. /*]*/
  1081. R=r205try_to_undefine_aux(C,a1,a2);
  1082. /*[IF*/
  1083. if((R)!=((void*)(NULL))){
  1084. X284set_clients(R,(/*RF2*/(C)->_clients/*16*/));
  1085. r205merge_header_comments(C,R);
  1086. }
  1087. else{
  1088. r51fatal_undefine(((T51*)a2),a1);
  1089. }
  1090. /*FI]*/
  1091. return R;
  1092. }
  1093.  
  1094.  
  1095. void r205check_obsolete(T205* C,T68 a1){
  1096. /*[IF*/
  1097. /*AF*//*AE*/
  1098. /*FI]*/
  1099. }
  1100.  
  1101.  
  1102. T0* r205to_run_feature(T205* C,T0* a1,T0* a2){
  1103. T0* R=NULL;
  1104. T0* _rc=NULL;
  1105. _rc=X52run_class(a1);
  1106. R=r50at(((T50*)_rc),a2);
  1107. if(NULL!=(R)){
  1108. switch(((T0*)R)->id){
  1109. case 388:
  1110. break;
  1111. default:
  1112. R=NULL;
  1113. }
  1114. }/*[IF*/
  1115. if((R)==((void*)(NULL))){
  1116. {T388*n=((T388*)malloc(sizeof(*n))/*36*/);
  1117. *n=M388;
  1118. r388make(n,a1,a2,(T0*)C);
  1119. R=((T0*)n);
  1120. }
  1121. }
  1122. /*FI]*/
  1123. return R;
  1124. }
  1125.  
  1126.  
  1127. void r205error(T68 a1,T0* a2){
  1128. r66add_position(a1);
  1129. /*[IRF3.6append*/{T0* b1=a2;
  1130. r7append((T7*)(oBC66explanation),b1);
  1131. }/*]*/
  1132. r66print_as_error((T66*)(oBC13eh));
  1133. }
  1134.  
  1135.  
  1136. T6 r205is_not_mergeable_with(T205* C,T0* a1){
  1137. T6 R=0;
  1138. /*[IF*/
  1139. if(((/*RF2*/(C)->_result_type/*20*/))==((void*)(NULL))){
  1140. R=(X90result_type(a1))!=((void*)(NULL));
  1141. }
  1142. else{
  1143. R=(X90result_type(a1))==((void*)(NULL));
  1144. }
  1145. /*FI]*/
  1146. /*[IF*/
  1147. if(R){
  1148. /*[IRF3.6append*/{T0* b1=((T0*)ms90_64152);
  1149. r7append((T7*)(oBC66explanation),b1);
  1150. }/*]*/
  1151. }
  1152. else{
  1153. /*[IF*/
  1154. {/*AT*/R=(X90arguments(a1))!=((void*)(NULL));
  1155. }
  1156. /*FI]*/
  1157. /*[IF*/
  1158. if(R){
  1159. /*[IRF3.6append*/{T0* b1=((T0*)ms90_82612);
  1160. r7append((T7*)(oBC66explanation),b1);
  1161. }/*]*/
  1162. }
  1163.  else {/*AT*/}
  1164. /*FI]*/
  1165. }
  1166. /*FI]*/
  1167. r205merge_header_comments(C,a1);
  1168. return R;
  1169. }
  1170.  
  1171.  
  1172. void r205make(T205* C,T0* a1,T0* a2,T0* a3){
  1173. /*[IRF3.3make_e_feature*/((((T205*)(C)))->_names)=(a1);
  1174. /*]*/
  1175. (/*SFN*/C->_result_type)=a2;
  1176. (/*SFN*/C->_value_mem)=a3;
  1177. }
  1178.  
  1179.  
  1180. void r205add_into(T205* C,T0* a1){
  1181. T0* _fn=NULL;
  1182. T2 _i=0;
  1183. {T68 se_tmp0;
  1184. (/*SFN*/C->_base_class)=(/*RF2*/((*(se_tmp0=X82start_position(r83item((T83*)((/*RF2*/(C)->_names/*8*/)),1)),&se_tmp0)))._base_class/*0*/);
  1185. }
  1186. _i=1;
  1187. while (!((_i)>(r83count((T83*)((/*RF2*/(C)->_names/*8*/))))))
  1188. {
  1189. _fn=r83item((T83*)((/*RF2*/(C)->_names/*8*/)),_i);
  1190. /*[IF*/
  1191. if(r91has(((T91*)a1),X82to_key(_fn))){
  1192. _fn=/*SSFRF4*//*X90first_name*//*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/((T198*)(r91at(((T91*)a1),X82to_key(_fn))))->_names/*8*/))))->_first/*0*/)/*)*/;
  1193. {T68 se_tmp0;
  1194. r66add_position((*(se_tmp0=X82start_position(_fn),&se_tmp0)));
  1195. }
  1196. {T68 se_tmp0;
  1197. r66add_position((*(se_tmp0=X82start_position(r83item((T83*)((/*RF2*/(C)->_names/*8*/)),_i)),&se_tmp0)));
  1198. }
  1199. /*[IRF3.6append*/{T0* b1=((T0*)ms90_41470);
  1200. r7append((T7*)(oBC66explanation),b1);
  1201. }/*]*/
  1202. /*[IRF3.6append*/{T0* b1=X82to_string(_fn);
  1203. r7append((T7*)(oBC66explanation),b1);
  1204. }/*]*/
  1205. /*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
  1206. r7append((T7*)(oBC66explanation),b1);
  1207. }/*]*/
  1208. r66print_as_error((T66*)(oBC13eh));
  1209. }
  1210. else{
  1211. r91put(((T91*)a1),(T0*)C,X82to_key(_fn));
  1212. }
  1213. /*FI]*/
  1214. _i=(_i)+(1);
  1215. }
  1216. }
  1217.  
  1218.  
  1219. T6 r205can_hide(T205* C,T0* a1,T0* a2){
  1220. T6 R=0;
  1221. /*[IF*/
  1222. if(((/*RF2*/(C)->_result_type/*20*/))!=((void*)(X90result_type(a1)))){
  1223. /*[IF*/
  1224. if((((/*RF2*/(C)->_result_type/*20*/))==((void*)(NULL)))||((X90result_type(a1))==((void*)(NULL)))){
  1225. {T68 se_tmp0;
  1226. r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
  1227. }
  1228. {T68 se_tmp0;
  1229. r205error((*(se_tmp0=r205start_position(C),&se_tmp0)),((T0*)ms90_64152));
  1230. }
  1231. }
  1232. /*FI]*/
  1233. }
  1234. /*FI]*/
  1235. /*[IF*/
  1236. if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X90arguments(a1)))){
  1237. /*[IF*/
  1238. {/*AT*/{T68 se_tmp0;
  1239. r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
  1240. }
  1241. {T68 se_tmp0;
  1242. r205error((*(se_tmp0=r205start_position(C),&se_tmp0)),((T0*)ms90_82612));
  1243. }
  1244. }
  1245. /*FI]*/
  1246. }
  1247. /*FI]*/
  1248. /*[IF*/
  1249. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  1250. /*[IF*/
  1251. if(((/*RF2*/(C)->_result_type/*20*/))!=((void*)(NULL))){
  1252. /*[IF*/
  1253. if(!(X52is_a_in((/*RF2*/(C)->_result_type/*20*/),X90result_type(a1),a2))){
  1254. /*[IRF3.6append*/{T0* b1=((T0*)ms90_51136);
  1255. r7append((T7*)(oBC66explanation),b1);
  1256. }/*]*/
  1257. /*[IRF3.6append*/{T0* b1=X52run_time_mark((/*RF2*/(((T50*)a2))->_current_type/*0*/));
  1258. r7append((T7*)(oBC66explanation),b1);
  1259. }/*]*/
  1260. /*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
  1261. r7append((T7*)(oBC66explanation),b1);
  1262. }/*]*/
  1263. r66print_as_error((T66*)(oBC13eh));
  1264. }
  1265. /*FI]*/
  1266. }
  1267. /*FI]*/
  1268. }
  1269. /*FI]*/
  1270. /*[IF*/
  1271. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  1272. /*[IF*/
  1273. /*AF*//*AE*/
  1274. /*FI]*/
  1275. }
  1276. /*FI]*/
  1277. R=(/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0);
  1278. /*[IF*/
  1279. if(R){
  1280. r205merge_header_comments(C,a1);
  1281. }
  1282. /*FI]*/
  1283. return R;
  1284. }
  1285.  
  1286.  
  1287. void r205merge_header_comments(T205* C,T0* a1){
  1288. /*[IF*/
  1289. if((/*RF2*/((T49*)(oBC13small_eiffel))->_short_flag/*5*/)){
  1290. /*[IF*/
  1291. if(((/*RF2*/(C)->_header_comment/*12*/))==((void*)(NULL))){
  1292. (/*SFN*/C->_header_comment)=/*SSWARF2*//*X90header_comment*/(/*RF2*/(((T198*)a1))->_header_comment/*12*/);
  1293. }
  1294.  else if((/*SSWARF2*//*X90header_comment*/(/*RF2*/(((T198*)a1))->_header_comment/*12*/))==((void*)(NULL))){
  1295. X90set_header_comment(a1,(/*RF2*/(C)->_header_comment/*12*/));
  1296. }
  1297. /*FI]*/
  1298. }
  1299. /*FI]*/
  1300. }
  1301.  
  1302.  
  1303. T68 r205start_position(T205* C){
  1304. T68 R={NULL,0};
  1305. {T68 se_tmp0;
  1306. R=(*(se_tmp0=X82start_position(/*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/(C)->_names/*8*/))))->_first/*0*/)/*)*/),&se_tmp0));
  1307. }
  1308. return R;
  1309. }
  1310.  
  1311.  
  1312. void r389standard_c_object_model(T389* C){
  1313. T0* _rc=NULL;
  1314. T2 _mem_id=0;
  1315. _rc=(/*RF2*/(C)->_run_class/*12*/);
  1316. _mem_id=(/*RF2*/(((T50*)_rc))->_id/*4*/);
  1317. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104)))))->_count)=(0);
  1318. /*]*/
  1319. r7extend((T7*)(((T0*)ms52_783104)),((T3)'T'));
  1320. r2append_in(_mem_id,((T0*)ms52_783104));
  1321. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
  1322. r7extend((T7*)(((T0*)ms52_783104)),((T3)'M'));
  1323. r2append_in(_mem_id,((T0*)ms52_783104));
  1324. r325put_extern7((T325*)(oBC13cpp),((T0*)ms52_783104));
  1325. /*[IRF3.3swap_on_c*/((((T325*)((T325*)(oBC13cpp))))->_current_out)=(oBC325out_c);
  1326. /*]*/
  1327. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104)))))->_count)=(0);
  1328. /*]*/
  1329. r50c_object_model_in(((T50*)_rc),((T0*)ms52_783104));
  1330. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
  1331. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104));
  1332. /*]*/
  1333. r325swap_on_h((T325*)(oBC13cpp));
  1334. }
  1335.  
  1336.  
  1337. void r389gc_free_in(T389* C,T0* a1){
  1338. r7append(((T7*)a1),((T0*)ms52_8540));
  1339. r2append_in(/*(IRF4.6id*/(/*RF2*/(((T50*)((/*RF2*/(C)->_run_class/*12*/))))->_id/*4*/)/*)*/,a1);
  1340. }
  1341.  
  1342.  
  1343. T0* r389generic_list(T389* C){
  1344. T0* R=NULL;
  1345. R=X52generic_list((/*RF2*/(C)->_expanded_type/*20*/));
  1346. return R;
  1347. }
  1348.  
  1349.  
  1350. void r389standard_gc_info_in(T389* C,T0* a1){
  1351. r7append(((T7*)a1),((T0*)ms52_22591a));
  1352. r7append(((T7*)a1),/*(IRF4.3run_time_mark*/(/*RF2*/(C)->_written_mark/*16*/)/*)*/);
  1353. r7append(((T7*)a1),((T0*)ms14_5895));
  1354. r389gc_info_nb_in(C,a1);
  1355. r7append(((T7*)a1),((T0*)ms14_330));
  1356. r7append(((T7*)a1),((T0*)ms52_22591));
  1357. r389gc_store_left_in(C,a1);
  1358. r7append(((T7*)a1),((T0*)ms14_5895));
  1359. r389gc_store_left_in(C,a1);
  1360. r7append(((T7*)a1),((T0*)ms14_330));
  1361. }
  1362.  
  1363.  
  1364. void r389standard_c_print_function(T389* C){
  1365. /*[IF*/
  1366. if(r47no_check((T47*)(oBC13run_control))){
  1367. r50c_print_function((T50*)((/*RF2*/(C)->_run_class/*12*/)));
  1368. }
  1369. /*FI]*/
  1370. }
  1371.  
  1372.  
  1373. void r389cast_to_ref(T389* C){
  1374. X52cast_to_ref(/*(IRF4.4run_type*/((T0*)(C))/*)*/);
  1375. }
  1376.  
  1377.  
  1378. void r389gc_call_new_in(T389* C,T0* a1){
  1379. r7append(((T7*)a1),((T0*)ms14_990));
  1380. r2append_in(/*(IRF4.6id*/(/*RF2*/(((T50*)((/*RF2*/(C)->_run_class/*12*/))))->_id/*4*/)/*)*/,a1);
  1381. r7extend(((T7*)a1),((T3)'\50'));
  1382. r7extend(((T7*)a1),((T3)'\51'));
  1383. }
  1384.  
  1385.  
  1386. void r389standard_c_struct(T389* C){
  1387. T0* _t=NULL;
  1388. T0* _a=NULL;
  1389. T2 _mem_id=0;
  1390. T2 _i=0;
  1391. T0* _wa=NULL;
  1392. _mem_id=/*(IRF4.6id*/(/*RF2*/(((T50*)((/*RF2*/(C)->_run_class/*12*/))))->_id/*4*/)/*)*/;
  1393. _wa=r50writable_attributes((T50*)((/*RF2*/(C)->_run_class/*12*/)));
  1394. r7copy((T7*)(((T0*)ms52_783104)),((T0*)ms14_5495));
  1395. r7extend((T7*)(((T0*)ms52_783104)),((T3)'S'));
  1396. r2append_in(_mem_id,((T0*)ms52_783104));
  1397. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\173'));
  1398. /*[IF*/
  1399. {/*AT*//*[IF*/
  1400. if(r50is_tagged((T50*)((/*RF2*/(C)->_run_class/*12*/)))){
  1401. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms52_5873));
  1402. }
  1403. /*FI]*/
  1404. }
  1405. /*FI]*/
  1406. /*[IF*/
  1407. if((_wa)!=((void*)(NULL))){
  1408. _i=(/*RF2*/(((T346*)_wa))->_upper/*12*/);
  1409. while (!((_i)==(0)))
  1410. {
  1411. _a=r346item(((T346*)_wa),_i);
  1412. _t=X52run_type((/*RF2*/(((T345*)_a))->_result_type/*28*/));
  1413. X52c_type_for_result_in(_t,((T0*)ms52_783104));
  1414. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
  1415. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\137'));
  1416. r7append((T7*)(((T0*)ms52_783104)),X82to_string((/*RF2*/(((T345*)_a))->_name/*12*/)));
  1417. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\73'));
  1418. _i=(_i)-(1);
  1419. }
  1420. }
  1421. /*FI]*/
  1422. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\175'));
  1423. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
  1424. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104));
  1425. /*]*/
  1426. /*[IF*/
  1427. /*AF*//*AE*/
  1428. /*FI]*/
  1429. }
  1430.  
  1431.  
  1432. T0* r389base_class(T389* C){
  1433. T0* R=NULL;
  1434. T0* _bcn=NULL;
  1435. _bcn=r389base_class_name(C);
  1436. /*[IF*/
  1437. if((_bcn)!=((void*)(NULL))){
  1438. R=r61base_class(((T61*)_bcn));
  1439. }
  1440. else{
  1441. /*[IRF3.6append*/{T0* b1=((T0*)ms52_36693);
  1442. r7append((T7*)(oBC66explanation),b1);
  1443. }/*]*/
  1444. r66add_type((T0*)C,((T0*)ms14_46));
  1445. r66print_as_fatal_error((T66*)(oBC13eh));
  1446. }
  1447. /*FI]*/
  1448. return R;
  1449. }
  1450.  
  1451.  
  1452. T0* r389look_up_for(T389* C,T0* a1,T0* a2){
  1453. T0* R=NULL;
  1454. R=r51look_up_for((T51*)(r389base_class(C)),a1,a2);
  1455. return R;
  1456. }
  1457.  
  1458.  
  1459. void r389gc_store_chunk_in(T389* C,T0* a1){
  1460. r7append(((T7*)a1),((T0*)ms52_19074));
  1461. r2append_in(/*(IRF4.6id*/(/*RF2*/(((T50*)((/*RF2*/(C)->_run_class/*12*/))))->_id/*4*/)/*)*/,a1);
  1462. }
  1463.  
  1464.  
  1465. void r389mapping_cast(T389* C){
  1466. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_15456)))))->_count)=(0);
  1467. /*]*/
  1468. r7extend((T7*)(((T0*)ms52_15456)),((T3)'\50'));
  1469. r389c_type_for_target_in(C,((T0*)ms52_15456));
  1470. r7extend((T7*)(((T0*)ms52_15456)),((T3)'\51'));
  1471. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_15456));
  1472. /*]*/
  1473. }
  1474.  
  1475.  
  1476. void r389gc_align_mark_in(T389* C,T0* a1){
  1477. r7append(((T7*)a1),((T0*)ms52_24609));
  1478. r2append_in(/*(IRF4.6id*/(/*RF2*/(((T50*)((/*RF2*/(C)->_run_class/*12*/))))->_id/*4*/)/*)*/,a1);
  1479. }
  1480.  
  1481.  
  1482. T6 r389is_a_in(T389* C,T0* a1,T0* a2){
  1483. T6 R=0;
  1484. T0* _ct=NULL;
  1485. T0* _t2=NULL;
  1486. T0* _t1=NULL;
  1487. /*[IF*/
  1488. if(((/*RF2*/(C)->_written_mark/*16*/))==((void*)(X52written_mark(a1)))){
  1489. R=1;
  1490. }
  1491. else{
  1492. _ct=(/*RF2*/(((T50*)a2))->_current_type/*0*/);
  1493. _t1=/*(IRF4.4to_runnable*/((T0*)(C))/*)*/;
  1494. _t2=X52to_runnable(a1,_ct);
  1495. /*[IF*/
  1496. if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
  1497. R=1;
  1498. }
  1499. else{
  1500. R=X52is_a(_t1,_t2);
  1501. }
  1502. /*FI]*/
  1503. }
  1504. /*FI]*/
  1505. return R;
  1506. }
  1507.  
  1508.  
  1509. void r389standard_c_typedef(T389* C){
  1510. T2 _mem_id=0;
  1511. _mem_id=/*(IRF4.6id*/(/*RF2*/(((T50*)((/*RF2*/(C)->_run_class/*12*/))))->_id/*4*/)/*)*/;
  1512. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104)))))->_count)=(0);
  1513. /*]*/
  1514. /*[IF*/
  1515. {/*AT*/r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_6448));
  1516. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_5495));
  1517. r7extend((T7*)(((T0*)ms52_783104)),((T3)'S'));
  1518. r2append_in(_mem_id,((T0*)ms52_783104));
  1519. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
  1520. r7extend((T7*)(((T0*)ms52_783104)),((T3)'T'));
  1521. r2append_in(_mem_id,((T0*)ms52_783104));
  1522. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
  1523. }
  1524. /*FI]*/
  1525. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104));
  1526. /*]*/
  1527. }
  1528.  
  1529.  
  1530. T6 r389is_native_array(T389* C){
  1531. T6 R=0;
  1532. T0* _tna=NULL;
  1533. _tna=NULL;
  1534. R=(_tna)!=((void*)(NULL));
  1535. return R;
  1536. }
  1537.  
  1538.  
  1539. T6 r389is_a(T389* C,T0* a1){
  1540. T6 R=0;
  1541. /*[IF*/
  1542. if((X52run_time_mark(a1))!=((void*)(X52run_time_mark((/*RF2*/(C)->_expanded_type/*20*/))))){
  1543. R=X52is_a((/*RF2*/(C)->_expanded_type/*20*/),a1);
  1544. }
  1545. else{
  1546. r66add_type((T0*)C,((T0*)ms14_17460));
  1547. r66add_type(a1,((T0*)ms14_46));
  1548. }
  1549. /*FI]*/
  1550. return R;
  1551. }
  1552.  
  1553.  
  1554. T6 r389is_generic(T389* C){
  1555. T6 R=0;
  1556. R=X52is_generic((/*RF2*/(C)->_expanded_type/*20*/));
  1557. return R;
  1558. }
  1559.  
  1560.  
  1561. T2 r389c_sizeof_pointer(void){
  1562. T2 R=0;
  1563. T8 _p=NULL;
  1564. R=sizeof(T8);
  1565. return R;
  1566. }
  1567.  
  1568.  
  1569. void r389gc_store_left_in(T389* C,T0* a1){
  1570. r7append(((T7*)a1),((T0*)ms52_17170));
  1571. r2append_in(/*(IRF4.6id*/(/*RF2*/(((T50*)((/*RF2*/(C)->_run_class/*12*/))))->_id/*4*/)/*)*/,a1);
  1572. }
  1573.  
  1574.  
  1575. T0* r389smallest_ancestor(T0* a1){
  1576. T0* R=NULL;
  1577. r389fatal_error(((T0*)ms389_86602));
  1578. return R;
  1579. }
  1580.  
  1581.  
  1582. T0* r389string_aliaser(void){
  1583. if(fBC13string_aliaser==0){fBC13string_aliaser=1;{
  1584. {T21*n=((T21*)malloc(1));
  1585. oBC13string_aliaser=((T0*)n);
  1586. /*[IRF3.2make*//*[IRF3.6add1*/{T0* b1=((T0*)ms15_696);
  1587. r23put((T23*)(oBC21memory),b1,b1);
  1588. }/*]*/
  1589. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1915);
  1590. r23put((T23*)(oBC21memory),b1,b1);
  1591. }/*]*/
  1592. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_669);
  1593. r23put((T23*)(oBC21memory),b1,b1);
  1594. }/*]*/
  1595. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1980);
  1596. r23put((T23*)(oBC21memory),b1,b1);
  1597. }/*]*/
  1598. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9234);
  1599. r23put((T23*)(oBC21memory),b1,b1);
  1600. }/*]*/
  1601. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6405);
  1602. r23put((T23*)(oBC21memory),b1,b1);
  1603. }/*]*/
  1604. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12529);
  1605. r23put((T23*)(oBC21memory),b1,b1);
  1606. }/*]*/
  1607. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9801);
  1608. r23put((T23*)(oBC21memory),b1,b1);
  1609. }/*]*/
  1610. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16393);
  1611. r23put((T23*)(oBC21memory),b1,b1);
  1612. }/*]*/
  1613. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12550);
  1614. r23put((T23*)(oBC21memory),b1,b1);
  1615. }/*]*/
  1616. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_4728);
  1617. r23put((T23*)(oBC21memory),b1,b1);
  1618. }/*]*/
  1619. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_10740);
  1620. r23put((T23*)(oBC21memory),b1,b1);
  1621. }/*]*/
  1622. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12030);
  1623. r23put((T23*)(oBC21memory),b1,b1);
  1624. }/*]*/
  1625. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_14817);
  1626. r23put((T23*)(oBC21memory),b1,b1);
  1627. }/*]*/
  1628. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6307);
  1629. r23put((T23*)(oBC21memory),b1,b1);
  1630. }/*]*/
  1631. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6643);
  1632. r23put((T23*)(oBC21memory),b1,b1);
  1633. }/*]*/
  1634. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12595);
  1635. r23put((T23*)(oBC21memory),b1,b1);
  1636. }/*]*/
  1637. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_5508);
  1638. r23put((T23*)(oBC21memory),b1,b1);
  1639. }/*]*/
  1640. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_17448);
  1641. r23put((T23*)(oBC21memory),b1,b1);
  1642. }/*]*/
  1643. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1216);
  1644. r23put((T23*)(oBC21memory),b1,b1);
  1645. }/*]*/
  1646. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7928);
  1647. r23put((T23*)(oBC21memory),b1,b1);
  1648. }/*]*/
  1649. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6776);
  1650. r23put((T23*)(oBC21memory),b1,b1);
  1651. }/*]*/
  1652. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12804);
  1653. r23put((T23*)(oBC21memory),b1,b1);
  1654. }/*]*/
  1655. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1168);
  1656. r23put((T23*)(oBC21memory),b1,b1);
  1657. }/*]*/
  1658. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7576);
  1659. r23put((T23*)(oBC21memory),b1,b1);
  1660. }/*]*/
  1661. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_4956);
  1662. r23put((T23*)(oBC21memory),b1,b1);
  1663. }/*]*/
  1664. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16692);
  1665. r23put((T23*)(oBC21memory),b1,b1);
  1666. }/*]*/
  1667. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19124);
  1668. r23put((T23*)(oBC21memory),b1,b1);
  1669. }/*]*/
  1670. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_921);
  1671. r23put((T23*)(oBC21memory),b1,b1);
  1672. }/*]*/
  1673. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_10680);
  1674. r23put((T23*)(oBC21memory),b1,b1);
  1675. }/*]*/
  1676. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_64);
  1677. r23put((T23*)(oBC21memory),b1,b1);
  1678. }/*]*/
  1679. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_368);
  1680. r23put((T23*)(oBC21memory),b1,b1);
  1681. }/*]*/
  1682. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_61);
  1683. r23put((T23*)(oBC21memory),b1,b1);
  1684. }/*]*/
  1685. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_246);
  1686. r23put((T23*)(oBC21memory),b1,b1);
  1687. }/*]*/
  1688. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_62);
  1689. r23put((T23*)(oBC21memory),b1,b1);
  1690. }/*]*/
  1691. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9408);
  1692. r23put((T23*)(oBC21memory),b1,b1);
  1693. }/*]*/
  1694. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_242);
  1695. r23put((T23*)(oBC21memory),b1,b1);
  1696. }/*]*/
  1697. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_60);
  1698. r23put((T23*)(oBC21memory),b1,b1);
  1699. }/*]*/
  1700. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_45);
  1701. r23put((T23*)(oBC21memory),b1,b1);
  1702. }/*]*/
  1703. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_42);
  1704. r23put((T23*)(oBC21memory),b1,b1);
  1705. }/*]*/
  1706. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_216);
  1707. r23put((T23*)(oBC21memory),b1,b1);
  1708. }/*]*/
  1709. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1011);
  1710. r23put((T23*)(oBC21memory),b1,b1);
  1711. }/*]*/
  1712. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_450);
  1713. r23put((T23*)(oBC21memory),b1,b1);
  1714. }/*]*/
  1715. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8211);
  1716. r23put((T23*)(oBC21memory),b1,b1);
  1717. }/*]*/
  1718. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_43);
  1719. r23put((T23*)(oBC21memory),b1,b1);
  1720. }/*]*/
  1721. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_94);
  1722. r23put((T23*)(oBC21memory),b1,b1);
  1723. }/*]*/
  1724. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_552);
  1725. r23put((T23*)(oBC21memory),b1,b1);
  1726. }/*]*/
  1727. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_564);
  1728. r23put((T23*)(oBC21memory),b1,b1);
  1729. }/*]*/
  1730. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_47);
  1731. r23put((T23*)(oBC21memory),b1,b1);
  1732. }/*]*/
  1733. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_188);
  1734. r23put((T23*)(oBC21memory),b1,b1);
  1735. }/*]*/
  1736. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_35);
  1737. r23put((T23*)(oBC21memory),b1,b1);
  1738. }/*]*/
  1739. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035a);
  1740. r23put((T23*)(oBC21memory),b1,b1);
  1741. }/*]*/
  1742. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11424);
  1743. r23put((T23*)(oBC21memory),b1,b1);
  1744. }/*]*/
  1745. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2600);
  1746. r23put((T23*)(oBC21memory),b1,b1);
  1747. }/*]*/
  1748. r21add2(((T0*)ms15_22524));
  1749. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6702);
  1750. r23put((T23*)(oBC21memory),b1,b1);
  1751. }/*]*/
  1752. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11776);
  1753. r23put((T23*)(oBC21memory),b1,b1);
  1754. }/*]*/
  1755. r21add2(((T0*)ms15_29246));
  1756. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13419);
  1757. r23put((T23*)(oBC21memory),b1,b1);
  1758. }/*]*/
  1759. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765a);
  1760. r23put((T23*)(oBC21memory),b1,b1);
  1761. }/*]*/
  1762. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1644);
  1763. r23put((T23*)(oBC21memory),b1,b1);
  1764. }/*]*/
  1765. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19294);
  1766. r23put((T23*)(oBC21memory),b1,b1);
  1767. }/*]*/
  1768. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1772);
  1769. r23put((T23*)(oBC21memory),b1,b1);
  1770. }/*]*/
  1771. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15070);
  1772. r23put((T23*)(oBC21memory),b1,b1);
  1773. }/*]*/
  1774. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15570);
  1775. r23put((T23*)(oBC21memory),b1,b1);
  1776. }/*]*/
  1777. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27034);
  1778. r23put((T23*)(oBC21memory),b1,b1);
  1779. }/*]*/
  1780. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15190);
  1781. r23put((T23*)(oBC21memory),b1,b1);
  1782. }/*]*/
  1783. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15890);
  1784. r23put((T23*)(oBC21memory),b1,b1);
  1785. }/*]*/
  1786. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19151);
  1787. r23put((T23*)(oBC21memory),b1,b1);
  1788. }/*]*/
  1789. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13491);
  1790. r23put((T23*)(oBC21memory),b1,b1);
  1791. }/*]*/
  1792. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_28490);
  1793. r23put((T23*)(oBC21memory),b1,b1);
  1794. }/*]*/
  1795. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8750);
  1796. r23put((T23*)(oBC21memory),b1,b1);
  1797. }/*]*/
  1798. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19437);
  1799. r23put((T23*)(oBC21memory),b1,b1);
  1800. }/*]*/
  1801. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824a);
  1802. r23put((T23*)(oBC21memory),b1,b1);
  1803. }/*]*/
  1804. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_23829);
  1805. r23put((T23*)(oBC21memory),b1,b1);
  1806. }/*]*/
  1807. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27272);
  1808. r23put((T23*)(oBC21memory),b1,b1);
  1809. }/*]*/
  1810. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_10528);
  1811. r23put((T23*)(oBC21memory),b1,b1);
  1812. }/*]*/
  1813. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13707);
  1814. r23put((T23*)(oBC21memory),b1,b1);
  1815. }/*]*/
  1816. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6846);
  1817. r23put((T23*)(oBC21memory),b1,b1);
  1818. }/*]*/
  1819. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1664);
  1820. r23put((T23*)(oBC21memory),b1,b1);
  1821. }/*]*/
  1822. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2760);
  1823. r23put((T23*)(oBC21memory),b1,b1);
  1824. }/*]*/
  1825. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730a);
  1826. r23put((T23*)(oBC21memory),b1,b1);
  1827. }/*]*/
  1828. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22248);
  1829. r23put((T23*)(oBC21memory),b1,b1);
  1830. }/*]*/
  1831. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22788);
  1832. r23put((T23*)(oBC21memory),b1,b1);
  1833. }/*]*/
  1834. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_30660);
  1835. r23put((T23*)(oBC21memory),b1,b1);
  1836. }/*]*/
  1837. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13995);
  1838. r23put((T23*)(oBC21memory),b1,b1);
  1839. }/*]*/
  1840. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_432);
  1841. r23put((T23*)(oBC21memory),b1,b1);
  1842. }/*]*/
  1843. r21add2(((T0*)ms15_22596));
  1844. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_60104);
  1845. r23put((T23*)(oBC21memory),b1,b1);
  1846. }/*]*/
  1847. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_24960);
  1848. r23put((T23*)(oBC21memory),b1,b1);
  1849. }/*]*/
  1850. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_34432);
  1851. r23put((T23*)(oBC21memory),b1,b1);
  1852. }/*]*/
  1853. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11144);
  1854. r23put((T23*)(oBC21memory),b1,b1);
  1855. }/*]*/
  1856. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_18964);
  1857. r23put((T23*)(oBC21memory),b1,b1);
  1858. }/*]*/
  1859. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1724);
  1860. r23put((T23*)(oBC21memory),b1,b1);
  1861. }/*]*/
  1862. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1744);
  1863. r23put((T23*)(oBC21memory),b1,b1);
  1864. }/*]*/
  1865. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765);
  1866. r23put((T23*)(oBC21memory),b1,b1);
  1867. }/*]*/
  1868. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6762);
  1869. r23put((T23*)(oBC21memory),b1,b1);
  1870. }/*]*/
  1871. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1656);
  1872. r23put((T23*)(oBC21memory),b1,b1);
  1873. }/*]*/
  1874. r21add2(((T0*)ms15_60016));
  1875. r21add2(((T0*)ms15_26880));
  1876. r21add2(((T0*)ms15_33240));
  1877. r21add2(((T0*)ms15_21624));
  1878. r21add2(((T0*)ms15_60060));
  1879. r21add2(((T0*)ms15_26908));
  1880. r21add2(((T0*)ms15_33270));
  1881. r21add2(((T0*)ms15_21648));
  1882. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_17886);
  1883. r23put((T23*)(oBC21memory),b1,b1);
  1884. }/*]*/
  1885. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824);
  1886. r23put((T23*)(oBC21memory),b1,b1);
  1887. }/*]*/
  1888. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_21192);
  1889. r23put((T23*)(oBC21memory),b1,b1);
  1890. }/*]*/
  1891. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2785);
  1892. r23put((T23*)(oBC21memory),b1,b1);
  1893. }/*]*/
  1894. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11496);
  1895. r23put((T23*)(oBC21memory),b1,b1);
  1896. }/*]*/
  1897. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_53940);
  1898. r23put((T23*)(oBC21memory),b1,b1);
  1899. }/*]*/
  1900. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035);
  1901. r23put((T23*)(oBC21memory),b1,b1);
  1902. }/*]*/
  1903. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2440);
  1904. r23put((T23*)(oBC21memory),b1,b1);
  1905. }/*]*/
  1906. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2445);
  1907. r23put((T23*)(oBC21memory),b1,b1);
  1908. }/*]*/
  1909. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_32730);
  1910. r23put((T23*)(oBC21memory),b1,b1);
  1911. }/*]*/
  1912. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12744);
  1913. r23put((T23*)(oBC21memory),b1,b1);
  1914. }/*]*/
  1915. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13662);
  1916. r23put((T23*)(oBC21memory),b1,b1);
  1917. }/*]*/
  1918. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8547);
  1919. r23put((T23*)(oBC21memory),b1,b1);
  1920. }/*]*/
  1921. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8505);
  1922. r23put((T23*)(oBC21memory),b1,b1);
  1923. }/*]*/
  1924. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9436);
  1925. r23put((T23*)(oBC21memory),b1,b1);
  1926. }/*]*/
  1927. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_14193);
  1928. r23put((T23*)(oBC21memory),b1,b1);
  1929. }/*]*/
  1930. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915a);
  1931. r23put((T23*)(oBC21memory),b1,b1);
  1932. }/*]*/
  1933. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915);
  1934. r23put((T23*)(oBC21memory),b1,b1);
  1935. }/*]*/
  1936. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_34528);
  1937. r23put((T23*)(oBC21memory),b1,b1);
  1938. }/*]*/
  1939. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13752);
  1940. r23put((T23*)(oBC21memory),b1,b1);
  1941. }/*]*/
  1942. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11336);
  1943. r23put((T23*)(oBC21memory),b1,b1);
  1944. }/*]*/
  1945. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_26156);
  1946. r23put((T23*)(oBC21memory),b1,b1);
  1947. }/*]*/
  1948. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11376);
  1949. r23put((T23*)(oBC21memory),b1,b1);
  1950. }/*]*/
  1951. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27580);
  1952. r23put((T23*)(oBC21memory),b1,b1);
  1953. }/*]*/
  1954. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_33990);
  1955. r23put((T23*)(oBC21memory),b1,b1);
  1956. }/*]*/
  1957. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27443);
  1958. r23put((T23*)(oBC21memory),b1,b1);
  1959. }/*]*/
  1960. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_40358);
  1961. r23put((T23*)(oBC21memory),b1,b1);
  1962. }/*]*/
  1963. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_25584);
  1964. r23put((T23*)(oBC21memory),b1,b1);
  1965. }/*]*/
  1966. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7380);
  1967. r23put((T23*)(oBC21memory),b1,b1);
  1968. }/*]*/
  1969. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730);
  1970. r23put((T23*)(oBC21memory),b1,b1);
  1971. }/*]*/
  1972. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7530);
  1973. r23put((T23*)(oBC21memory),b1,b1);
  1974. }/*]*/
  1975. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13977);
  1976. r23put((T23*)(oBC21memory),b1,b1);
  1977. }/*]*/
  1978. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_14175);
  1979. r23put((T23*)(oBC21memory),b1,b1);
  1980. }/*]*/
  1981. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16970);
  1982. r23put((T23*)(oBC21memory),b1,b1);
  1983. }/*]*/
  1984. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8820);
  1985. r23put((T23*)(oBC21memory),b1,b1);
  1986. }/*]*/
  1987. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7326);
  1988. r23put((T23*)(oBC21memory),b1,b1);
  1989. }/*]*/
  1990. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22716);
  1991. r23put((T23*)(oBC21memory),b1,b1);
  1992. }/*]*/
  1993. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12978);
  1994. r23put((T23*)(oBC21memory),b1,b1);
  1995. }/*]*/
  1996. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16770);
  1997. r23put((T23*)(oBC21memory),b1,b1);
  1998. }/*]*/
  1999. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16850);
  2000. r23put((T23*)(oBC21memory),b1,b1);
  2001. }/*]*/
  2002. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9051);
  2003. r23put((T23*)(oBC21memory),b1,b1);
  2004. }/*]*/
  2005. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_21300);
  2006. r23put((T23*)(oBC21memory),b1,b1);
  2007. }/*]*/
  2008. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_56720);
  2009. r23put((T23*)(oBC21memory),b1,b1);
  2010. }/*]*/
  2011. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1800);
  2012. r23put((T23*)(oBC21memory),b1,b1);
  2013. }/*]*/
  2014. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2780);
  2015. r23put((T23*)(oBC21memory),b1,b1);
  2016. }/*]*/
  2017. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27456);
  2018. r23put((T23*)(oBC21memory),b1,b1);
  2019. }/*]*/
  2020. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15650);
  2021. r23put((T23*)(oBC21memory),b1,b1);
  2022. }/*]*/
  2023. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9275);
  2024. r23put((T23*)(oBC21memory),b1,b1);
  2025. }/*]*/
  2026. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_58075);
  2027. r23put((T23*)(oBC21memory),b1,b1);
  2028. }/*]*/
  2029. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22140);
  2030. r23put((T23*)(oBC21memory),b1,b1);
  2031. }/*]*/
  2032. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13833);
  2033. r23put((T23*)(oBC21memory),b1,b1);
  2034. }/*]*/
  2035. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7314);
  2036. r23put((T23*)(oBC21memory),b1,b1);
  2037. }/*]*/
  2038. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1608);
  2039. r23put((T23*)(oBC21memory),b1,b1);
  2040. }/*]*/
  2041. /*]*/
  2042. }
  2043. }}
  2044. return oBC13string_aliaser;
  2045. }
  2046.  
  2047.  
  2048. void r389standard_gc_define2(T389* C){
  2049. T6 _gc_check_id=0;
  2050. T2 _rcid=0;
  2051. T0* _rc=NULL;
  2052. _rc=(/*RF2*/(C)->_run_class/*12*/);
  2053. _rcid=(/*RF2*/(((T50*)_rc))->_id/*4*/);
  2054. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_1736a));
  2055. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  2056. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_11416));
  2057. r2append_in(_rcid,((T0*)ms52_783104a));
  2058. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_6360));
  2059. r7copy((T7*)(((T0*)ms52_3073536)),((T0*)ms52_404));
  2060. r2append_in(_rcid,((T0*)ms52_3073536));
  2061. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_69075));
  2062. r2append_in(_rcid,((T0*)ms52_3073536));
  2063. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_361836));
  2064. r389gc_store_in(C,((T0*)ms52_3073536));
  2065. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_94205));
  2066. r344memory_dispose(((T0*)ms52_3073536),((T0*)ms52_320),(/*RF2*/(C)->_run_class/*12*/));
  2067. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_21552));
  2068. r389gc_free_in(C,((T0*)ms52_3073536));
  2069. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
  2070. r389gc_free_in(C,((T0*)ms52_3073536));
  2071. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_407960));
  2072. r344memory_dispose(((T0*)ms52_3073536),((T0*)ms52_322),(/*RF2*/(C)->_run_class/*12*/));
  2073. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1591218));
  2074. r389gc_free_in(C,((T0*)ms52_3073536));
  2075. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
  2076. r389gc_free_in(C,((T0*)ms52_3073536));
  2077. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_14102));
  2078. r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  2079. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_1736a));
  2080. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  2081. r389gc_mark_in(C,((T0*)ms52_783104a));
  2082. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_248a));
  2083. r2append_in(_rcid,((T0*)ms52_783104a));
  2084. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_582));
  2085. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_3073536)))))->_count)=(0);
  2086. /*]*/
  2087. _gc_check_id=(r50is_tagged(((T50*)_rc)))&&(r47no_check((T47*)(oBC13run_control)));
  2088. /*[IF*/
  2089. if(_gc_check_id){
  2090. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_21437));
  2091. r2append_in(_rcid,((T0*)ms52_3073536));
  2092. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_932));
  2093. }
  2094. /*FI]*/
  2095. r50gc_mark_fixed_size(((T50*)_rc),0,((T0*)ms52_3073536));
  2096. /*[IF*/
  2097. if(_gc_check_id){
  2098. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_270));
  2099. }
  2100. /*FI]*/
  2101. r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  2102. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_1736a));
  2103. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  2104. r389gc_align_mark_in(C,((T0*)ms52_783104a));
  2105. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_14570));
  2106. r2append_in(_rcid,((T0*)ms52_783104a));
  2107. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_585));
  2108. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_3073536)))))->_count)=(0);
  2109. /*]*/
  2110. r50gc_align_mark_fixed_size(((T50*)_rc),((T0*)ms52_3073536));
  2111. r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  2112. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms52_5346));
  2113. r2append_in(_rcid,((T0*)ms52_783104a));
  2114. r7copy((T7*)(((T0*)ms52_3073536)),((T0*)ms52_454797));
  2115. r2append_in(_rcid,((T0*)ms52_3073536));
  2116. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_78075));
  2117. r2append_in(_rcid,((T0*)ms52_3073536));
  2118. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_356700));
  2119. r2append_in(_rcid,((T0*)ms52_3073536));
  2120. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_5802));
  2121. r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  2122. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104a)))))->_count)=(0);
  2123. /*]*/
  2124. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'T'));
  2125. r2append_in(_rcid,((T0*)ms52_783104a));
  2126. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\52'));
  2127. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_990));
  2128. r2append_in(_rcid,((T0*)ms52_783104a));
  2129. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_4320));
  2130. r7copy((T7*)(((T0*)ms52_3073536)),((T0*)ms14_404));
  2131. r2append_in(_rcid,((T0*)ms52_3073536));
  2132. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_884));
  2133. /*[IF*/
  2134. if((/*RF2*/((T344*)(oBC13gc_handler))->_info_flag/*1*/)){
  2135. r389gc_info_nb_in(C,((T0*)ms52_3073536));
  2136. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_620));
  2137. }
  2138. /*FI]*/
  2139. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_741));
  2140. r389gc_store_left_in(C,((T0*)ms52_3073536));
  2141. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1425));
  2142. r389gc_store_left_in(C,((T0*)ms52_3073536));
  2143. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_3810));
  2144. r389gc_store_in(C,((T0*)ms52_3073536));
  2145. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_13200));
  2146. r389gc_free_in(C,((T0*)ms52_3073536));
  2147. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11044));
  2148. r389gc_free_in(C,((T0*)ms52_3073536));
  2149. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
  2150. r389gc_free_in(C,((T0*)ms52_3073536));
  2151. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_39474));
  2152. r389gc_store_left_in(C,((T0*)ms52_3073536));
  2153. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_2370));
  2154. r389gc_store_left_in(C,((T0*)ms52_3073536));
  2155. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_712));
  2156. r389gc_store_chunk_in(C,((T0*)ms52_3073536));
  2157. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_103626));
  2158. r389gc_store_in(C,((T0*)ms52_3073536));
  2159. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11760));
  2160. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11024));
  2161. r389gc_store_chunk_in(C,((T0*)ms52_3073536));
  2162. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_23640));
  2163. r389gc_initialize_chunk(C,_rcid,((T0*)ms52_3073536));
  2164. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_31806));
  2165. r389gc_store_chunk_in(C,((T0*)ms52_3073536));
  2166. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1694883));
  2167. r389gc_store_chunk_in(C,((T0*)ms52_3073536));
  2168. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_51520));
  2169. r389gc_store_chunk_in(C,((T0*)ms52_3073536));
  2170. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_816));
  2171. r389gc_initialize_chunk(C,_rcid,((T0*)ms52_3073536));
  2172. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_59265));
  2173. r389gc_free_in(C,((T0*)ms52_3073536));
  2174. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1725));
  2175. r389gc_free_in(C,((T0*)ms52_3073536));
  2176. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
  2177. r389gc_free_in(C,((T0*)ms52_3073536));
  2178. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_15800));
  2179. r389gc_store_chunk_in(C,((T0*)ms52_3073536));
  2180. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_8008));
  2181. r389gc_initialize_chunk(C,_rcid,((T0*)ms52_3073536));
  2182. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_21504));
  2183. /*[IF*/
  2184. {/*AT*/r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_14003));
  2185. r2append_in(_rcid,((T0*)ms52_3073536));
  2186. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
  2187. }
  2188. /*FI]*/
  2189. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11862));
  2190. r2append_in(_rcid,((T0*)ms52_3073536));
  2191. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_2118));
  2192. r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  2193. }
  2194.  
  2195.  
  2196. void r389c_header_pass4(T389* C){
  2197. /*[IF*/
  2198. {/*AT*/r389standard_c_struct(C);
  2199. }
  2200. /*FI]*/
  2201. r389standard_c_object_model(C);
  2202. r389standard_c_print_function(C);
  2203. }
  2204.  
  2205.  
  2206. void r389standard_gc_define1(T389* C){
  2207. T2 _rcid=0;
  2208. T0* _rc=NULL;
  2209. _rc=(/*RF2*/(C)->_run_class/*12*/);
  2210. _rcid=(/*RF2*/(((T50*)_rc))->_id/*4*/);
  2211. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_6448));
  2212. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_5495));
  2213. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'B'));
  2214. r2append_in(_rcid,((T0*)ms52_783104a));
  2215. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  2216. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_404));
  2217. r2append_in(_rcid,((T0*)ms52_783104a));
  2218. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_138));
  2219. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_5495));
  2220. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'B'));
  2221. r2append_in(_rcid,((T0*)ms52_783104a));
  2222. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_414));
  2223. r2append_in(_rcid,((T0*)ms52_783104a));
  2224. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_78572));
  2225. r2append_in(_rcid,((T0*)ms52_783104a));
  2226. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_12042));
  2227. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104a));
  2228. /*]*/
  2229. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_404));
  2230. r2append_in(_rcid,((T0*)ms52_783104a));
  2231. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\52'));
  2232. r389gc_store_in(C,((T0*)ms52_783104a));
  2233. r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms14_1260));
  2234. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_993));
  2235. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  2236. r389gc_store_left_in(C,((T0*)ms52_783104a));
  2237. r325put_extern2((T325*)(oBC13cpp),((T0*)ms52_783104a),((T3)'0'));
  2238. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms52_2345));
  2239. r389gc_store_chunk_in(C,((T0*)ms52_783104a));
  2240. r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms14_1260));
  2241. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_404));
  2242. r2append_in(_rcid,((T0*)ms52_783104a));
  2243. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\52'));
  2244. r389gc_free_in(C,((T0*)ms52_783104a));
  2245. r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms14_1260));
  2246. /*[IF*/
  2247. if((/*RF2*/((T344*)(oBC13gc_handler))->_info_flag/*1*/)){
  2248. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_993));
  2249. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  2250. r389gc_info_nb_in(C,((T0*)ms52_783104a));
  2251. r325put_extern2((T325*)(oBC13cpp),((T0*)ms52_783104a),((T3)'0'));
  2252. }
  2253. /*FI]*/
  2254. }
  2255.  
  2256.  
  2257. void r389standard_just_before_gc_mark_in(T389* C,T0* a1){
  2258. r389gc_free_in(C,a1);
  2259. r7extend(((T7*)a1),((T3)'\75'));
  2260. r7append(((T7*)a1),((T0*)ms14_1260));
  2261. r7append(((T7*)a1),((T0*)ms14_138));
  2262. }
  2263.  
  2264.  
  2265. void r389id_extra_information(T0* a1){
  2266. r48put_string(((T48*)a1),((T0*)ms52_9724));
  2267. /*[IF*/
  2268. {/*AT*/r48put_string(((T48*)a1),((T0*)ms52_1476));
  2269. }
  2270. /*FI]*/
  2271. }
  2272.  
  2273.  
  2274. void r389gc_mark_in(T389* C,T0* a1){
  2275. r7append(((T7*)a1),((T0*)ms14_8764));
  2276. r2append_in(/*(IRF4.6id*/(/*RF2*/(((T50*)((/*RF2*/(C)->_run_class/*12*/))))->_id/*4*/)/*)*/,a1);
  2277. }
  2278.  
  2279.  
  2280. void r389gc_info_nb_in(T389* C,T0* a1){
  2281. r7append(((T7*)a1),((T0*)ms52_14920));
  2282. r2append_in(/*(IRF4.6id*/(/*RF2*/(((T50*)((/*RF2*/(C)->_run_class/*12*/))))->_id/*4*/)/*)*/,a1);
  2283. }
  2284.  
  2285.  
  2286. T0* r389static_base_class_name(T389* C){
  2287. T0* R=NULL;
  2288. R=X52static_base_class_name((/*RF2*/(C)->_expanded_type/*20*/));
  2289. return R;
  2290. }
  2291.  
  2292.  
  2293. void r389c_type_for_external_in(T0* a1){
  2294. /*[IF*/
  2295. {/*AT*/r7append(((T7*)a1),((T0*)ms14_1736a));
  2296. r7extend(((T7*)a1),((T3)'\52'));
  2297. }
  2298. /*FI]*/
  2299. }
  2300.  
  2301.  
  2302. void r389gc_store_in(T389* C,T0* a1){
  2303. r7append(((T7*)a1),((T0*)ms52_2785));
  2304. r2append_in(/*(IRF4.6id*/(/*RF2*/(((T50*)((/*RF2*/(C)->_run_class/*12*/))))->_id/*4*/)/*)*/,a1);
  2305. }
  2306.  
  2307.  
  2308. void r389fatal_error(T0* a1){
  2309. /*[IRF3.6append*/{T0* b1=a1;
  2310. r7append((T7*)(oBC66explanation),b1);
  2311. }/*]*/
  2312. r66print_as_fatal_error((T66*)(oBC13eh));
  2313. }
  2314.  
  2315.  
  2316. void r389c_type_for_target_in(T389* C,T0* a1){
  2317. r7extend(((T7*)a1),((T3)'T'));
  2318. r2append_in(/*(IRF4.6id*/(/*RF2*/(((T50*)((/*RF2*/(C)->_run_class/*12*/))))->_id/*4*/)/*)*/,a1);
  2319. r7extend(((T7*)a1),((T3)'\52'));
  2320. }
  2321.  
  2322.  
  2323. T6 r389stupid_switch(T389* C,T0* a1){
  2324. T6 R=0;
  2325. R=X52stupid_switch((/*RF2*/(C)->_expanded_type/*20*/),a1);
  2326. return R;
  2327. }
  2328.  
  2329.  
  2330. void r389demangling_in(T389* C,T0* a1){
  2331. /*[IF*/
  2332. {/*AT*/r7extend(((T7*)a1),((T3)'R'));
  2333. }
  2334. /*FI]*/
  2335. r7extend(((T7*)a1),((T3)'\40'));
  2336. r7append(((T7*)a1),/*(IRF4.3run_time_mark*/(/*RF2*/(C)->_written_mark/*16*/)/*)*/);
  2337. }
  2338.  
  2339.  
  2340. void r389gc_initialize_chunk(T389* C,T2 a1,T0* a2){
  2341. r7extend(((T7*)a2),((T3)'\52'));
  2342. r389gc_store_chunk_in(C,a2);
  2343. r7append(((T7*)a2),((T0*)ms14_266a));
  2344. r2append_in(a1,a2);
  2345. r7append(((T7*)a2),((T0*)ms14_138));
  2346. r389gc_store_in(C,a2);
  2347. r7append(((T7*)a2),((T0*)ms52_1715));
  2348. r2append_in(a1,a2);
  2349. r7append(((T7*)a2),((T0*)ms52_1005));
  2350. r389gc_store_chunk_in(C,a2);
  2351. r7append(((T7*)a2),((T0*)ms52_11742));
  2352. r389gc_store_left_in(C,a2);
  2353. r7append(((T7*)a2),((T0*)ms14_266a));
  2354. r2append_in(a1,a2);
  2355. r7append(((T7*)a2),((T0*)ms52_34060));
  2356. r389gc_store_in(C,a2);
  2357. r7append(((T7*)a2),((T0*)ms52_2040));
  2358. }
  2359.  
  2360.  
  2361. T0* r389base_class_name(T389* C){
  2362. T0* R=NULL;
  2363. R=X52base_class_name((/*RF2*/(C)->_expanded_type/*20*/));
  2364. return R;
  2365. }
  2366.  
  2367.  
  2368. void r389c_frame_descriptor(T389* C){
  2369. r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\45'));
  2370. /*[IF*/
  2371. {/*AT*/r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'R'));
  2372. }
  2373. /*FI]*/
  2374. r2append_in(/*(IRF4.6id*/(/*RF2*/(((T50*)((/*RF2*/(C)->_run_class/*12*/))))->_id/*4*/)/*)*/,oBC13c_frame_descriptor_format);
  2375. r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\45'));
  2376. }
  2377.  
  2378.  
  2379. void r389from_expanded(T389* C,T68 a1,T0* a2){
  2380. (/*SFN*/C->_start_position)=a1;
  2381. (/*SFN*/C->_expanded_type)=a2;
  2382. r7copy((T7*)(((T0*)ms52_783104)),((T0*)ms389_8520));
  2383. r7append((T7*)(((T0*)ms52_783104)),X52run_time_mark(a2));
  2384. (/*SFN*/C->_written_mark)=((/*UT*/(void)((T21*)(r389string_aliaser()))),r21item(((T0*)ms52_783104)));
  2385. (/*SFN*/C->_run_class)=r49run_class((T0*)C);
  2386. }
  2387.  
  2388.  
  2389. void r136compile_to_c_old(T136* C){
  2390. X104compile_to_c_old((/*RF2*/(C)->_target/*4*/));
  2391. /*[IF*/
  2392. /*AF*//*AE*/
  2393. /*FI]*/
  2394. }
  2395.  
  2396.  
  2397. T0* r136runnable_expression(T0* a1,T0* a2){
  2398. T0* R=NULL;
  2399. R=X104to_runnable(a1,a2);
  2400. /*[IF*/
  2401. if((R)==((void*)(NULL))){
  2402. {T68 se_tmp0;
  2403. r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
  2404. }
  2405. r136fatal_error(((T0*)ms116_16290));
  2406. }
  2407. /*FI]*/
  2408. return R;
  2409. }
  2410.  
  2411.  
  2412. void r136run_feature_has_result(T136* C){
  2413. /*[IF*/
  2414. if((X334result_type((/*RF2*/(C)->_run_feature/*8*/)))==((void*)(NULL))){
  2415. {T68 se_tmp0;
  2416. r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*8*/)),&se_tmp0)));
  2417. }
  2418. r66add_position((/*RF2*/((T133*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  2419. r136fatal_error(((T0*)ms115_53215));
  2420. }
  2421. /*FI]*/
  2422. }
  2423.  
  2424.  
  2425. T2 r136static_value(T136* C){
  2426. T2 R=0;
  2427. /*[IF*/
  2428. if(X52is_integer(X104result_type((/*RF2*/(C)->_target/*4*/)))){
  2429. /*[IF*/
  2430. if(X104is_static((/*RF2*/(C)->_target/*4*/))){
  2431. R=-(X104static_value((/*RF2*/(C)->_target/*4*/)));
  2432. }
  2433. /*FI]*/
  2434. }
  2435. /*FI]*/
  2436. return R;
  2437. }
  2438.  
  2439.  
  2440. void r136run_feature_match(T136* C){
  2441. r136run_feature_has_result(C);
  2442. /*[IF*/
  2443. if((X334arguments((/*RF2*/(C)->_run_feature/*8*/)))!=((void*)(NULL))){
  2444. r66add_position((/*RF2*/((T133*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  2445. {T68 se_tmp0;
  2446. r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*8*/)),&se_tmp0)));
  2447. }
  2448. r136fatal_error(((T0*)ms132_50092));
  2449. }
  2450. /*FI]*/
  2451. }
  2452.  
  2453.  
  2454. void r136dca_inline_argument(T136* C,T0* a1){
  2455. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2456. T3 b1=((T3)'\55');
  2457. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2458. }/*]*/
  2459. /*]*/
  2460. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2461. T3 b1=((T3)'\50');
  2462. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2463. }/*]*/
  2464. /*]*/
  2465. X104dca_inline_argument((/*RF2*/(C)->_target/*4*/),a1);
  2466. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2467. T3 b1=((T3)'\51');
  2468. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2469. }/*]*/
  2470. /*]*/
  2471. }
  2472.  
  2473.  
  2474. T0* r136add_comment(T136* C,T0* a1){
  2475. T0* R=NULL;
  2476. /*[IF*/
  2477. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  2478. R=((T0*)(C));
  2479. }
  2480. else{
  2481. {T229*n=((T229*)malloc(sizeof(*n))/*12*/);
  2482. *n=M229;
  2483. r229make(n,(T0*)C,a1);
  2484. R=((T0*)n);
  2485. }
  2486. }
  2487. /*FI]*/
  2488. return R;
  2489. }
  2490.  
  2491.  
  2492. void r136with(T136* C,T0* a1,T0* a2,T0* a3){
  2493. (/*SFN*/C->_target)=a1;
  2494. (/*SFN*/C->_feature_name)=a2;
  2495. (/*SFN*/C->_run_feature)=a3;
  2496. r136run_feature_match(C);
  2497. }
  2498.  
  2499.  
  2500. void r136mapping_c_target(T136* C,T0* a1){
  2501. T0* _actual_type=NULL;
  2502. T6 _flag=0;
  2503. _flag=r325call_invariant_start(a1);
  2504. _actual_type=X52run_type(r136result_type(C));
  2505. /*[IF*/
  2506. if(X52is_reference(_actual_type)){
  2507. /*[IF*/
  2508. if(X52is_reference(a1)){
  2509. X52mapping_cast(a1);
  2510. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2511. T3 b1=((T3)'\50');
  2512. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2513. }/*]*/
  2514. /*]*/
  2515. r136compile_to_c(C);
  2516. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2517. T3 b1=((T3)'\51');
  2518. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2519. }/*]*/
  2520. /*]*/
  2521. }
  2522. else{
  2523. r136compile_to_c(C);
  2524. }
  2525. /*FI]*/
  2526. }
  2527. else{
  2528. /*[IF*/
  2529. if(X52is_reference(a1)){
  2530. r136compile_to_c(C);
  2531. }
  2532. else{
  2533. /*[IF*/
  2534. if(X52need_c_struct(a1)){
  2535. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2536. T3 b1=((T3)'\46');
  2537. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2538. }/*]*/
  2539. /*]*/
  2540. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2541. T3 b1=((T3)'\50');
  2542. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2543. }/*]*/
  2544. /*]*/
  2545. r136compile_to_c(C);
  2546. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2547. T3 b1=((T3)'\51');
  2548. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2549. }/*]*/
  2550. /*]*/
  2551. }
  2552. else{
  2553. r136compile_to_c(C);
  2554. }
  2555. /*FI]*/
  2556. }
  2557. /*FI]*/
  2558. }
  2559. /*FI]*/
  2560. /*[IF*/
  2561. if(_flag){
  2562. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
  2563. T3 b1=((T3)'\51');
  2564. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2565. }/*]*/
  2566. /*]*/
  2567. }
  2568. /*FI]*/
  2569. }
  2570.  
  2571.  
  2572. void r136afd_check(T136* C){
  2573. T0* _running=NULL;
  2574. T0* _rc=NULL;
  2575. /*[IF*/
  2576. if(((/*RF2*/(C)->_run_feature/*8*/))!=((void*)(NULL))){
  2577. _rc=X52run_class(X104result_type((/*RF2*/(C)->_target/*4*/)));
  2578. _running=(/*RF2*/(((T50*)_rc))->_running/*9*/);
  2579. /*[IF*/
  2580. if((_running)==((void*)(NULL))){
  2581. }
  2582.  else if((r53count(((T53*)_running)))>(1)){
  2583. r351update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*8*/));
  2584. }
  2585. /*FI]*/
  2586. }
  2587. /*FI]*/
  2588. X104afd_check((/*RF2*/(C)->_target/*4*/));
  2589. /*[IF*/
  2590. /*AF*//*AE*/
  2591. /*FI]*/
  2592. }
  2593.  
  2594.  
  2595. void r136c_declare_for_old(T136* C){
  2596. X104c_declare_for_old((/*RF2*/(C)->_target/*4*/));
  2597. /*[IF*/
  2598. /*AF*//*AE*/
  2599. /*FI]*/
  2600. }
  2601.  
  2602.  
  2603. void r136collect_c_tmp(T136* C){
  2604. /*[IF*/
  2605. if(((/*RF2*/(C)->_run_feature/*8*/))!=((void*)(NULL))){
  2606. X334collect_c_tmp((/*RF2*/(C)->_run_feature/*8*/));
  2607. }
  2608. /*FI]*/
  2609. X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
  2610. /*[IF*/
  2611. /*AF*//*AE*/
  2612. /*FI]*/
  2613. }
  2614.  
  2615.  
  2616. T0* r136operator(void){
  2617. T0* R=NULL;
  2618. R=((T0*)ms15_45);
  2619. return R;
  2620. }
  2621.  
  2622.  
  2623. T6 r136use_current(T136* C){
  2624. T6 R=0;
  2625. /*[IF*/
  2626. /*AF*//*AE*/
  2627. /*FI]*/
  2628. /*[IF*/
  2629. if(R){
  2630. }
  2631.  else if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  2632. R=X334use_current((/*RF2*/(C)->_run_feature/*8*/));
  2633. }
  2634. else{
  2635. R=X104use_current((/*RF2*/(C)->_target/*4*/));
  2636. }
  2637. /*FI]*/
  2638. return R;
  2639. }
  2640.  
  2641.  
  2642. T0* r136to_runnable(T136* C,T0* a1){
  2643. T0* R=NULL;
  2644. T0* _rf=NULL;
  2645. T0* _t=NULL;
  2646. _t=r136runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
  2647. _rf=r136run_feature_for(C,_t,a1);
  2648. /*[IF*/
  2649. if(((/*RF2*/(C)->_run_feature/*8*/))==((void*)(NULL))){
  2650. (/*SFN*/C->_target)=_t;
  2651. (/*SFN*/C->_run_feature)=_rf;
  2652. r136run_feature_match(C);
  2653. R=((T0*)(C));
  2654. }
  2655.  else if((_t)==((void*)((/*RF2*/(C)->_target/*4*/)))){
  2656. R=((T0*)(C));
  2657. }
  2658. else{
  2659. {T136*n=((T136*)malloc(sizeof(*n))/*16*/);
  2660. *n=M136;
  2661. r136with(n,_t,(/*RF2*/(C)->_feature_name/*12*/),_rf);
  2662. R=((T0*)n);
  2663. }
  2664. }
  2665. /*FI]*/
  2666. return R;
  2667. }
  2668.  
  2669.  
  2670. T2 r136to_integer(T136* C){
  2671. T2 R=0;
  2672. T0* _rf1=NULL;
  2673. _rf1=(/*RF2*/(C)->_run_feature/*8*/);
  2674. if(NULL!=(_rf1)){
  2675. switch(((T0*)_rf1)->id){
  2676. case 388:
  2677. break;
  2678. default:
  2679. _rf1=NULL;
  2680. }
  2681. }/*[IF*/
  2682. if((_rf1)==((void*)(NULL))){
  2683. r136error(/*(IRF4.6start_position*/(/*RF2*/(((T133*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/,((T0*)ms14_45441));
  2684. }
  2685. else{
  2686. R=X104to_integer((/*RF2*/(((T388*)_rf1))->_value/*28*/));
  2687. }
  2688. /*FI]*/
  2689. return R;
  2690. }
  2691.  
  2692.  
  2693. T6 r136is_static(T136* C){
  2694. T6 R=0;
  2695. /*[IF*/
  2696. if(X52is_integer(X104result_type((/*RF2*/(C)->_target/*4*/)))){
  2697. /*[IF*/
  2698. if(X104is_static((/*RF2*/(C)->_target/*4*/))){
  2699. R=1;
  2700. }
  2701. /*FI]*/
  2702. }
  2703. /*FI]*/
  2704. return R;
  2705. }
  2706.  
  2707.  
  2708. void r136finalize(T136* C){
  2709. T0* _rf=NULL;
  2710. T0* _rc=NULL;
  2711. _rf=(/*RF2*/(C)->_run_feature/*8*/);
  2712. _rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/));
  2713. (/*SFN*/C->_run_feature)=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/((T53*)((/*RF2*/(((T50*)_rc))->_running/*9*/)))->_storage/*0*/))[0]/*)*/),_rf);
  2714. }
  2715.  
  2716.  
  2717. void r136error(T68 a1,T0* a2){
  2718. r66add_position(a1);
  2719. /*[IRF3.6append*/{T0* b1=a2;
  2720. r7append((T7*)(oBC66explanation),b1);
  2721. }/*]*/
  2722. r66print_as_error((T66*)(oBC13eh));
  2723. }
  2724.  
  2725.  
  2726. T0* r136result_type(T136* C){
  2727. T0* R=NULL;
  2728. R=X334result_type((/*RF2*/(C)->_run_feature/*8*/));
  2729. /*[IF*/
  2730. if(X52is_like_current(R)){
  2731. R=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*8*/)))->_current_type/*8*/);
  2732. }
  2733. /*FI]*/
  2734. return R;
  2735. }
  2736.  
  2737.  
  2738. T6 r136can_be_dropped(T136* C){
  2739. T6 R=0;
  2740. /*[IF*/
  2741. if(X104can_be_dropped((/*RF2*/(C)->_target/*4*/))){
  2742. R=X334can_be_dropped((/*RF2*/(C)->_run_feature/*8*/));
  2743. }
  2744. /*FI]*/
  2745. return R;
  2746. }
  2747.  
  2748.  
  2749. T6 r136call_proc_call_stupid_switch(T136* C,T0* a1){
  2750. T6 R=0;
  2751. /*[IF*/
  2752. {/*AT*/R=1;
  2753. }
  2754. /*FI]*/
  2755. /*[IF*/
  2756. if(R){
  2757. /*[IF*/
  2758. if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  2759. /*[IF*/
  2760. if(r49same_base_feature((/*RF2*/(C)->_run_feature/*8*/),a1)){
  2761. R=(X334stupid_switch((/*RF2*/(C)->_run_feature/*8*/),a1))!=((void*)(NULL));
  2762. }
  2763. else{
  2764. R=0;
  2765. }
  2766. /*FI]*/
  2767. }
  2768. else{
  2769. R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
  2770. }
  2771. /*FI]*/
  2772. }
  2773. /*FI]*/
  2774. return R;
  2775. }
  2776.  
  2777.  
  2778. T0* r136run_feature_for(T136* C,T0* a1,T0* a2){
  2779. T0* R=NULL;
  2780. T0* _bc=NULL;
  2781. T0* _rt=NULL;
  2782. T0* _rc=NULL;
  2783. _rt=X104result_type(a1);
  2784. /*[IF*/
  2785. if((_rt)!=((void*)(NULL))){
  2786. _rc=X52run_class(_rt);
  2787. /*[IF*/
  2788. if((_rc)!=((void*)(NULL))){
  2789. _bc=r50base_class(((T50*)_rc));
  2790. R=r51run_feature_for(((T51*)_bc),_rc,a1,(/*RF2*/(C)->_feature_name/*12*/),a2);
  2791. }
  2792. /*FI]*/
  2793. }
  2794. /*FI]*/
  2795. /*[IF*/
  2796. if((R)==((void*)(NULL))){
  2797. r66add_position((/*RF2*/((T133*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  2798. /*[IRF3.6append*/{T0* b1=((T0*)ms116_39025);
  2799. r7append((T7*)(oBC66explanation),b1);
  2800. }/*]*/
  2801. r66print_as_fatal_error((T66*)(oBC13eh));
  2802. }
  2803. /*FI]*/
  2804. return R;
  2805. }
  2806.  
  2807.  
  2808. T0* r136static_result_base_class(T136* C){
  2809. T0* R=NULL;
  2810. T0* _cn=NULL;
  2811. T0* _rt=NULL;
  2812. T0* _e_feature=NULL;
  2813. T0* _bc=NULL;
  2814. _bc=X104static_result_base_class((/*RF2*/(C)->_target/*4*/));
  2815. /*[IF*/
  2816. if((_bc)!=((void*)(NULL))){
  2817. _e_feature=r51e_feature(((T51*)_bc),(/*RF2*/(C)->_feature_name/*12*/));
  2818. /*[IF*/
  2819. if((_e_feature)!=((void*)(NULL))){
  2820. _rt=X90result_type(_e_feature);
  2821. /*[IF*/
  2822. if((_rt)!=((void*)(NULL))){
  2823. _cn=X52static_base_class_name(_rt);
  2824. /*[IF*/
  2825. if((_cn)!=((void*)(NULL))){
  2826. R=r61base_class(((T61*)_cn));
  2827. }
  2828. /*FI]*/
  2829. }
  2830. /*FI]*/
  2831. }
  2832. /*FI]*/
  2833. }
  2834. /*FI]*/
  2835. return R;
  2836. }
  2837.  
  2838.  
  2839. void r136make(T136* C,T68 a1,T0* a2){
  2840. {T133*n=((T133*)malloc(sizeof(*n))/*20*/);
  2841. *n=M133;
  2842. r133make(n,r136operator(),a1);
  2843. (/*SFN*/C->_feature_name)=((T0*)n);
  2844. }
  2845. (/*SFN*/C->_target)=a2;
  2846. }
  2847.  
  2848.  
  2849. void r136fatal_error(T0* a1){
  2850. /*[IRF3.6append*/{T0* b1=a1;
  2851. r7append((T7*)(oBC66explanation),b1);
  2852. }/*]*/
  2853. r66print_as_fatal_error((T66*)(oBC13eh));
  2854. }
  2855.  
  2856.  
  2857. void r136assertion_check(T136* C,T3 a1){
  2858. /*[IF*/
  2859. if((a1)==(((T3)'R'))){
  2860. X334vape_check_from((/*RF2*/(C)->_run_feature/*8*/),/*(IRF4.6start_position*/(/*RF2*/(((T133*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/);
  2861. }
  2862. /*FI]*/
  2863. X104assertion_check((/*RF2*/(C)->_target/*4*/),a1);
  2864. }
  2865.  
  2866.  
  2867. void r136compile_to_c(T136* C){
  2868. /*[IF*/
  2869. if((r47boost((T47*)(oBC13run_control)))&&(X52is_basic_eiffel_expanded(/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*8*/)))->_current_type/*8*/)))){
  2870. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2871. T3 b1=((T3)'\55');
  2872. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2873. }/*]*/
  2874. /*]*/
  2875. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2876. T3 b1=((T3)'\50');
  2877. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2878. }/*]*/
  2879. /*]*/
  2880. X104compile_to_c((/*RF2*/(C)->_target/*4*/));
  2881. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2882. T3 b1=((T3)'\51');
  2883. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2884. }/*]*/
  2885. /*]*/
  2886. }
  2887. else{
  2888. /*[IRF3.6call_proc_call_c2c*/{T136* C1=C;
  2889. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  2890. }/*]*/
  2891. }
  2892. /*FI]*/
  2893. }
  2894.  
  2895.  
  2896. T6 r136stupid_switch(T136* C,T0* a1){
  2897. T6 R=0;
  2898. R=r136call_proc_call_stupid_switch(C,a1);
  2899. /*[IF*/
  2900. if(R){
  2901. R=!(X52is_native_array(r136result_type(C)));
  2902. }
  2903. /*FI]*/
  2904. return R;
  2905. }
  2906.  
  2907.  
  2908. T2 r136isa_dca_inline_argument(T136* C){
  2909. T2 R=0;
  2910. /*[IF*/
  2911. if(X52is_integer(r136result_type(C))){
  2912. R=X104isa_dca_inline_argument((/*RF2*/(C)->_target/*4*/));
  2913. }
  2914. /*FI]*/
  2915. return R;
  2916. }
  2917.  
  2918.  
  2919. T0* r212try_to_undefine_aux(T212* C,T0* a1,T0* a2){
  2920. T0* R=NULL;
  2921. {T68 se_tmp0;
  2922. r66add_position((*(se_tmp0=r212start_position(C),&se_tmp0)));
  2923. }
  2924. {T68 se_tmp0;
  2925. r212error((*(se_tmp0=X82start_position(a1),&se_tmp0)),((T0*)ms200_98784));
  2926. }
  2927. r51fatal_undefine(((T51*)a2),a1);
  2928. return R;
  2929. }
  2930.  
  2931.  
  2932. T0* r212try_to_undefine(T212* C,T0* a1,T0* a2){
  2933. T0* R=NULL;
  2934. T0* _fn2=NULL;
  2935. {T68 se_tmp0;
  2936. r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
  2937. }
  2938. _fn2=r83feature_name((T83*)((/*RF2*/(C)->_names/*8*/)),X82to_key(a1));
  2939. /*[IF*/
  2940. if((_fn2)!=((void*)(NULL))){
  2941. X82undefine_in(_fn2,a2);
  2942. }
  2943. /*FI]*/
  2944. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
  2945. /*]*/
  2946. /*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
  2947. /*]*/
  2948. /*]*/
  2949. R=r212try_to_undefine_aux(C,a1,a2);
  2950. /*[IF*/
  2951. if((R)!=((void*)(NULL))){
  2952. X284set_clients(R,(/*RF2*/(C)->_clients/*16*/));
  2953. r212merge_header_comments(C,R);
  2954. }
  2955. else{
  2956. r51fatal_undefine(((T51*)a2),a1);
  2957. }
  2958. /*FI]*/
  2959. return R;
  2960. }
  2961.  
  2962.  
  2963. void r212check_obsolete(T212* C,T68 a1){
  2964. /*[IF*/
  2965. /*AF*//*AE*/
  2966. /*FI]*/
  2967. }
  2968.  
  2969.  
  2970. T0* r212to_run_feature(T212* C,T0* a1,T0* a2){
  2971. T0* R=NULL;
  2972. T0* _rc=NULL;
  2973. _rc=X52run_class(a1);
  2974. R=r50at(((T50*)_rc),a2);
  2975. if(NULL!=(R)){
  2976. switch(((T0*)R)->id){
  2977. case 388:
  2978. break;
  2979. default:
  2980. R=NULL;
  2981. }
  2982. }/*[IF*/
  2983. if((R)==((void*)(NULL))){
  2984. {T388*n=((T388*)malloc(sizeof(*n))/*36*/);
  2985. *n=M388;
  2986. r388make(n,a1,a2,(T0*)C);
  2987. R=((T0*)n);
  2988. }
  2989. }
  2990. /*FI]*/
  2991. return R;
  2992. }
  2993.  
  2994.  
  2995. void r212error(T68 a1,T0* a2){
  2996. r66add_position(a1);
  2997. /*[IRF3.6append*/{T0* b1=a2;
  2998. r7append((T7*)(oBC66explanation),b1);
  2999. }/*]*/
  3000. r66print_as_error((T66*)(oBC13eh));
  3001. }
  3002.  
  3003.  
  3004. T6 r212is_not_mergeable_with(T212* C,T0* a1){
  3005. T6 R=0;
  3006. /*[IF*/
  3007. if(((/*RF2*/(C)->_result_type/*20*/))==((void*)(NULL))){
  3008. R=(X90result_type(a1))!=((void*)(NULL));
  3009. }
  3010. else{
  3011. R=(X90result_type(a1))==((void*)(NULL));
  3012. }
  3013. /*FI]*/
  3014. /*[IF*/
  3015. if(R){
  3016. /*[IRF3.6append*/{T0* b1=((T0*)ms90_64152);
  3017. r7append((T7*)(oBC66explanation),b1);
  3018. }/*]*/
  3019. }
  3020. else{
  3021. /*[IF*/
  3022. {/*AT*/R=(X90arguments(a1))!=((void*)(NULL));
  3023. }
  3024. /*FI]*/
  3025. /*[IF*/
  3026. if(R){
  3027. /*[IRF3.6append*/{T0* b1=((T0*)ms90_82612);
  3028. r7append((T7*)(oBC66explanation),b1);
  3029. }/*]*/
  3030. }
  3031.  else {/*AT*/}
  3032. /*FI]*/
  3033. }
  3034. /*FI]*/
  3035. r212merge_header_comments(C,a1);
  3036. return R;
  3037. }
  3038.  
  3039.  
  3040. void r212make(T212* C,T0* a1,T0* a2,T0* a3){
  3041. /*[IRF3.3make_e_feature*/((((T212*)(C)))->_names)=(a1);
  3042. /*]*/
  3043. (/*SFN*/C->_result_type)=a2;
  3044. (/*SFN*/C->_value_mem)=a3;
  3045. }
  3046.  
  3047.  
  3048. void r212add_into(T212* C,T0* a1){
  3049. T0* _fn=NULL;
  3050. T2 _i=0;
  3051. {T68 se_tmp0;
  3052. (/*SFN*/C->_base_class)=(/*RF2*/((*(se_tmp0=X82start_position(r83item((T83*)((/*RF2*/(C)->_names/*8*/)),1)),&se_tmp0)))._base_class/*0*/);
  3053. }
  3054. _i=1;
  3055. while (!((_i)>(r83count((T83*)((/*RF2*/(C)->_names/*8*/))))))
  3056. {
  3057. _fn=r83item((T83*)((/*RF2*/(C)->_names/*8*/)),_i);
  3058. /*[IF*/
  3059. if(r91has(((T91*)a1),X82to_key(_fn))){
  3060. _fn=/*SSFRF4*//*X90first_name*//*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/((T198*)(r91at(((T91*)a1),X82to_key(_fn))))->_names/*8*/))))->_first/*0*/)/*)*/;
  3061. {T68 se_tmp0;
  3062. r66add_position((*(se_tmp0=X82start_position(_fn),&se_tmp0)));
  3063. }
  3064. {T68 se_tmp0;
  3065. r66add_position((*(se_tmp0=X82start_position(r83item((T83*)((/*RF2*/(C)->_names/*8*/)),_i)),&se_tmp0)));
  3066. }
  3067. /*[IRF3.6append*/{T0* b1=((T0*)ms90_41470);
  3068. r7append((T7*)(oBC66explanation),b1);
  3069. }/*]*/
  3070. /*[IRF3.6append*/{T0* b1=X82to_string(_fn);
  3071. r7append((T7*)(oBC66explanation),b1);
  3072. }/*]*/
  3073. /*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
  3074. r7append((T7*)(oBC66explanation),b1);
  3075. }/*]*/
  3076. r66print_as_error((T66*)(oBC13eh));
  3077. }
  3078. else{
  3079. r91put(((T91*)a1),(T0*)C,X82to_key(_fn));
  3080. }
  3081. /*FI]*/
  3082. _i=(_i)+(1);
  3083. }
  3084. }
  3085.  
  3086.  
  3087. T6 r212can_hide(T212* C,T0* a1,T0* a2){
  3088. T6 R=0;
  3089. /*[IF*/
  3090. if(((/*RF2*/(C)->_result_type/*20*/))!=((void*)(X90result_type(a1)))){
  3091. /*[IF*/
  3092. if((((/*RF2*/(C)->_result_type/*20*/))==((void*)(NULL)))||((X90result_type(a1))==((void*)(NULL)))){
  3093. {T68 se_tmp0;
  3094. r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
  3095. }
  3096. {T68 se_tmp0;
  3097. r212error((*(se_tmp0=r212start_position(C),&se_tmp0)),((T0*)ms90_64152));
  3098. }
  3099. }
  3100. /*FI]*/
  3101. }
  3102. /*FI]*/
  3103. /*[IF*/
  3104. if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X90arguments(a1)))){
  3105. /*[IF*/
  3106. {/*AT*/{T68 se_tmp0;
  3107. r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
  3108. }
  3109. {T68 se_tmp0;
  3110. r212error((*(se_tmp0=r212start_position(C),&se_tmp0)),((T0*)ms90_82612));
  3111. }
  3112. }
  3113. /*FI]*/
  3114. }
  3115. /*FI]*/
  3116. /*[IF*/
  3117. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  3118. /*[IF*/
  3119. if(((/*RF2*/(C)->_result_type/*20*/))!=((void*)(NULL))){
  3120. /*[IF*/
  3121. if(!(X52is_a_in((/*RF2*/(C)->_result_type/*20*/),X90result_type(a1),a2))){
  3122. /*[IRF3.6append*/{T0* b1=((T0*)ms90_51136);
  3123. r7append((T7*)(oBC66explanation),b1);
  3124. }/*]*/
  3125. /*[IRF3.6append*/{T0* b1=X52run_time_mark((/*RF2*/(((T50*)a2))->_current_type/*0*/));
  3126. r7append((T7*)(oBC66explanation),b1);
  3127. }/*]*/
  3128. /*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
  3129. r7append((T7*)(oBC66explanation),b1);
  3130. }/*]*/
  3131. r66print_as_error((T66*)(oBC13eh));
  3132. }
  3133. /*FI]*/
  3134. }
  3135. /*FI]*/
  3136. }
  3137. /*FI]*/
  3138. /*[IF*/
  3139. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  3140. /*[IF*/
  3141. /*AF*//*AE*/
  3142. /*FI]*/
  3143. }
  3144. /*FI]*/
  3145. R=(/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0);
  3146. /*[IF*/
  3147. if(R){
  3148. r212merge_header_comments(C,a1);
  3149. }
  3150. /*FI]*/
  3151. return R;
  3152. }
  3153.  
  3154.  
  3155. void r212merge_header_comments(T212* C,T0* a1){
  3156. /*[IF*/
  3157. if((/*RF2*/((T49*)(oBC13small_eiffel))->_short_flag/*5*/)){
  3158. /*[IF*/
  3159. if(((/*RF2*/(C)->_header_comment/*12*/))==((void*)(NULL))){
  3160. (/*SFN*/C->_header_comment)=/*SSWARF2*//*X90header_comment*/(/*RF2*/(((T198*)a1))->_header_comment/*12*/);
  3161. }
  3162.  else if((/*SSWARF2*//*X90header_comment*/(/*RF2*/(((T198*)a1))->_header_comment/*12*/))==((void*)(NULL))){
  3163. X90set_header_comment(a1,(/*RF2*/(C)->_header_comment/*12*/));
  3164. }
  3165. /*FI]*/
  3166. }
  3167. /*FI]*/
  3168. }
  3169.  
  3170.  
  3171. T68 r212start_position(T212* C){
  3172. T68 R={NULL,0};
  3173. {T68 se_tmp0;
  3174. R=(*(se_tmp0=X82start_position(/*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/(C)->_names/*8*/))))->_first/*0*/)/*)*/),&se_tmp0));
  3175. }
  3176. return R;
  3177. }
  3178.  
  3179.  
  3180. void r123compile_to_c_old(T123* C){
  3181. X104compile_to_c_old((/*RF2*/(C)->_target/*4*/));
  3182. /*[IF*/
  3183. {/*AT*//*SSPRF3*//*X139compile_to_c_old*/r139compile_to_c_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  3184. }
  3185. /*FI]*/
  3186. }
  3187.  
  3188.  
  3189. T0* r123runnable_expression(T0* a1,T0* a2){
  3190. T0* R=NULL;
  3191. R=X104to_runnable(a1,a2);
  3192. /*[IF*/
  3193. if((R)==((void*)(NULL))){
  3194. {T68 se_tmp0;
  3195. r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
  3196. }
  3197. r123fatal_error(((T0*)ms116_16290));
  3198. }
  3199. /*FI]*/
  3200. return R;
  3201. }
  3202.  
  3203.  
  3204. void r123run_feature_has_result(T123* C){
  3205. /*[IF*/
  3206. if((X334result_type((/*RF2*/(C)->_run_feature/*16*/)))==((void*)(NULL))){
  3207. {T68 se_tmp0;
  3208. r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*16*/)),&se_tmp0)));
  3209. }
  3210. r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  3211. r123fatal_error(((T0*)ms115_53215));
  3212. }
  3213. /*FI]*/
  3214. }
  3215.  
  3216.  
  3217. void r123run_feature_match(T123* C,T0* a1){
  3218. r123run_feature_has_result(C);
  3219. X139match_with((/*RF2*/(C)->_arguments/*8*/),(/*RF2*/(C)->_run_feature/*16*/),a1);
  3220. }
  3221.  
  3222.  
  3223. void r123dca_inline_argument(T123* C,T0* a1){
  3224. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3225. T3 b1=((T3)'\50');
  3226. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3227. }/*]*/
  3228. /*]*/
  3229. X104dca_inline_argument((/*RF2*/(C)->_target/*4*/),a1);
  3230. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3231. T3 b1=((T3)'\51');
  3232. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3233. }/*]*/
  3234. /*]*/
  3235. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3236. T3 b1=((T3)'\53');
  3237. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3238. }/*]*/
  3239. /*]*/
  3240. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3241. T3 b1=((T3)'\50');
  3242. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3243. }/*]*/
  3244. /*]*/
  3245. X104dca_inline_argument(r123arg1(C),a1);
  3246. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3247. T3 b1=((T3)'\51');
  3248. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3249. }/*]*/
  3250. /*]*/
  3251. }
  3252.  
  3253.  
  3254. T0* r123add_comment(T123* C,T0* a1){
  3255. T0* R=NULL;
  3256. /*[IF*/
  3257. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  3258. R=((T0*)(C));
  3259. }
  3260. else{
  3261. {T229*n=((T229*)malloc(sizeof(*n))/*12*/);
  3262. *n=M229;
  3263. r229make(n,(T0*)C,a1);
  3264. R=((T0*)n);
  3265. }
  3266. }
  3267. /*FI]*/
  3268. return R;
  3269. }
  3270.  
  3271.  
  3272. void r123with(T123* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  3273. (/*SFN*/C->_target)=a1;
  3274. (/*SFN*/C->_feature_name)=a2;
  3275. (/*SFN*/C->_arguments)=a3;
  3276. (/*SFN*/C->_run_feature)=a4;
  3277. r123run_feature_match(C,a5);
  3278. }
  3279.  
  3280.  
  3281. void r123mapping_c_target(T123* C,T0* a1){
  3282. T0* _actual_type=NULL;
  3283. T6 _flag=0;
  3284. _flag=r325call_invariant_start(a1);
  3285. _actual_type=X52run_type(r123result_type(C));
  3286. /*[IF*/
  3287. if(X52is_reference(_actual_type)){
  3288. /*[IF*/
  3289. if(X52is_reference(a1)){
  3290. X52mapping_cast(a1);
  3291. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3292. T3 b1=((T3)'\50');
  3293. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3294. }/*]*/
  3295. /*]*/
  3296. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T123* C1=C;
  3297. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  3298. }/*]*/
  3299. /*]*/
  3300. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3301. T3 b1=((T3)'\51');
  3302. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3303. }/*]*/
  3304. /*]*/
  3305. }
  3306. else{
  3307. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T123* C1=C;
  3308. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  3309. }/*]*/
  3310. /*]*/
  3311. }
  3312. /*FI]*/
  3313. }
  3314. else{
  3315. /*[IF*/
  3316. if(X52is_reference(a1)){
  3317. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T123* C1=C;
  3318. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  3319. }/*]*/
  3320. /*]*/
  3321. }
  3322. else{
  3323. /*[IF*/
  3324. if(X52need_c_struct(a1)){
  3325. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3326. T3 b1=((T3)'\46');
  3327. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3328. }/*]*/
  3329. /*]*/
  3330. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3331. T3 b1=((T3)'\50');
  3332. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3333. }/*]*/
  3334. /*]*/
  3335. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T123* C1=C;
  3336. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  3337. }/*]*/
  3338. /*]*/
  3339. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3340. T3 b1=((T3)'\51');
  3341. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3342. }/*]*/
  3343. /*]*/
  3344. }
  3345. else{
  3346. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T123* C1=C;
  3347. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  3348. }/*]*/
  3349. /*]*/
  3350. }
  3351. /*FI]*/
  3352. }
  3353. /*FI]*/
  3354. }
  3355. /*FI]*/
  3356. /*[IF*/
  3357. if(_flag){
  3358. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
  3359. T3 b1=((T3)'\51');
  3360. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3361. }/*]*/
  3362. /*]*/
  3363. }
  3364. /*FI]*/
  3365. }
  3366.  
  3367.  
  3368. void r123afd_check(T123* C){
  3369. T0* _running=NULL;
  3370. T0* _rc=NULL;
  3371. /*[IF*/
  3372. if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
  3373. _rc=X52run_class(X104result_type((/*RF2*/(C)->_target/*4*/)));
  3374. _running=(/*RF2*/(((T50*)_rc))->_running/*9*/);
  3375. /*[IF*/
  3376. if((_running)==((void*)(NULL))){
  3377. }
  3378.  else if((r53count(((T53*)_running)))>(1)){
  3379. r351update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*16*/));
  3380. }
  3381. /*FI]*/
  3382. }
  3383. /*FI]*/
  3384. X104afd_check((/*RF2*/(C)->_target/*4*/));
  3385. /*[IF*/
  3386. {/*AT*//*SSPRF3*//*X139afd_check*/r139afd_check((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  3387. }
  3388. /*FI]*/
  3389. }
  3390.  
  3391.  
  3392. void r123c_declare_for_old(T123* C){
  3393. X104c_declare_for_old((/*RF2*/(C)->_target/*4*/));
  3394. /*[IF*/
  3395. {/*AT*//*SSPRF3*//*X139c_declare_for_old*/r139c_declare_for_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  3396. }
  3397. /*FI]*/
  3398. }
  3399.  
  3400.  
  3401. void r123collect_c_tmp(T123* C){
  3402. /*[IF*/
  3403. if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
  3404. X334collect_c_tmp((/*RF2*/(C)->_run_feature/*16*/));
  3405. }
  3406. /*FI]*/
  3407. X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
  3408. /*[IF*/
  3409. if(((/*RF2*/(C)->_arguments/*8*/))!=((void*)(NULL))){
  3410. /*SSPRF3*//*X139collect_c_tmp*/r139collect_c_tmp((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  3411. }
  3412. /*FI]*/
  3413. }
  3414.  
  3415.  
  3416. T0* r123operator(void){
  3417. T0* R=NULL;
  3418. R=((T0*)ms15_43);
  3419. return R;
  3420. }
  3421.  
  3422.  
  3423. T6 r123use_current(T123* C){
  3424. T6 R=0;
  3425. /*[IF*/
  3426. {/*AT*/R=/*SSFRF4*//*X139use_current*/r139use_current((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  3427. }
  3428. /*FI]*/
  3429. /*[IF*/
  3430. if(R){
  3431. }
  3432.  else if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  3433. R=X334use_current((/*RF2*/(C)->_run_feature/*16*/));
  3434. }
  3435. else{
  3436. R=X104use_current((/*RF2*/(C)->_target/*4*/));
  3437. }
  3438. /*FI]*/
  3439. return R;
  3440. }
  3441.  
  3442.  
  3443. T0* r123runnable_args(T0* a1,T0* a2){
  3444. T0* R=NULL;
  3445. R=X139to_runnable(a1,a2);
  3446. /*[IF*/
  3447. if((R)==((void*)(NULL))){
  3448. {T68 se_tmp0;
  3449. r66add_position((*(se_tmp0=X139start_position(a1),&se_tmp0)));
  3450. }
  3451. r123fatal_error(((T0*)ms14_12870));
  3452. }
  3453. /*FI]*/
  3454. return R;
  3455. }
  3456.  
  3457.  
  3458. T0* r123to_runnable(T123* C,T0* a1){
  3459. T0* R=NULL;
  3460. T0* _target_type=NULL;
  3461. T0* _argument_type=NULL;
  3462. T0* _rf=NULL;
  3463. T0* _a=NULL;
  3464. T0* _t=NULL;
  3465. _t=r123runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
  3466. _a=r123runnable_args((/*RF2*/(C)->_arguments/*8*/),a1);
  3467. _target_type=X104result_type(_t);
  3468. _argument_type=X104result_type(r123arg1(C));
  3469. /*[IF*/
  3470. if(X52is_real(_argument_type)){
  3471. /*[IF*/
  3472. if(X52is_integer(_target_type)){
  3473. _t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
  3474. }
  3475. /*FI]*/
  3476. }
  3477.  else if(X52is_double(_argument_type)){
  3478. /*[IF*/
  3479. if((X52is_integer(_target_type))||(X52is_real(_target_type))){
  3480. _t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
  3481. }
  3482. /*FI]*/
  3483. }
  3484. /*FI]*/
  3485. _rf=r123run_feature_for(C,_t,a1);
  3486. /*[IF*/
  3487. if(((/*RF2*/(C)->_run_feature/*16*/))==((void*)(NULL))){
  3488. (/*SFN*/C->_target)=_t;
  3489. (/*SFN*/C->_arguments)=_a;
  3490. (/*SFN*/C->_run_feature)=_rf;
  3491. r123run_feature_match(C,a1);
  3492. R=((T0*)(C));
  3493. }
  3494.  else if(((_t)==((void*)((/*RF2*/(C)->_target/*4*/))))&&((_a)==((void*)((/*RF2*/(C)->_arguments/*8*/))))){
  3495. R=((T0*)(C));
  3496. }
  3497. else{
  3498. {T123*n=((T123*)malloc(sizeof(*n))/*24*/);
  3499. *n=M123;
  3500. r123with(n,_t,(/*RF2*/(C)->_feature_name/*12*/),_a,_rf,a1);
  3501. R=((T0*)n);
  3502. }
  3503. }
  3504. /*FI]*/
  3505. return R;
  3506. }
  3507.  
  3508.  
  3509. T2 r123to_integer(T123* C){
  3510. T2 R=0;
  3511. r123error(/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/,((T0*)ms14_45441));
  3512. return R;
  3513. }
  3514.  
  3515.  
  3516. T6 r123is_static(T123* C){
  3517. T6 R=0;
  3518. /*[IF*/
  3519. if(X52is_integer(r123result_type(C))){
  3520. /*[IF*/
  3521. if((X104is_static((/*RF2*/(C)->_target/*4*/)))&&(X104is_static(r123arg1(C)))){
  3522. R=1;
  3523. (/*SFN*/C->_static_value_mem)=(X104static_value((/*RF2*/(C)->_target/*4*/)))+(X104static_value(r123arg1(C)));
  3524. }
  3525. /*FI]*/
  3526. }
  3527. /*FI]*/
  3528. return R;
  3529. }
  3530.  
  3531.  
  3532. void r123finalize(T123* C){
  3533. T0* _rf=NULL;
  3534. T0* _rc=NULL;
  3535. _rf=(/*RF2*/(C)->_run_feature/*16*/);
  3536. _rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/));
  3537. (/*SFN*/C->_run_feature)=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/((T53*)((/*RF2*/(((T50*)_rc))->_running/*9*/)))->_storage/*0*/))[0]/*)*/),_rf);
  3538. }
  3539.  
  3540.  
  3541. void r123error(T68 a1,T0* a2){
  3542. r66add_position(a1);
  3543. /*[IRF3.6append*/{T0* b1=a2;
  3544. r7append((T7*)(oBC66explanation),b1);
  3545. }/*]*/
  3546. r66print_as_error((T66*)(oBC13eh));
  3547. }
  3548.  
  3549.  
  3550. T0* r123result_type(T123* C){
  3551. T0* R=NULL;
  3552. T0* _tla=NULL;
  3553. R=X334result_type((/*RF2*/(C)->_run_feature/*16*/));
  3554. /*[IF*/
  3555. if(X52is_like_current(R)){
  3556. R=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*16*/)))->_current_type/*8*/);
  3557. }
  3558. else{
  3559. _tla=R;
  3560. if(NULL!=(_tla)){
  3561. switch(((T0*)_tla)->id){
  3562. case 257:
  3563. break;
  3564. default:
  3565. _tla=NULL;
  3566. }
  3567. }/*[IF*/
  3568. if((_tla)!=((void*)(NULL))){
  3569. R=X52run_type(X104result_type(r123arg1(C)));
  3570. }
  3571. /*FI]*/
  3572. }
  3573. /*FI]*/
  3574. return R;
  3575. }
  3576.  
  3577.  
  3578. T0* r123arg1(T123* C){
  3579. T0* R=NULL;
  3580. R=/*SSFRF4*//*X139first*//*(IRF4.3first*/(/*RF2*/((T139*)((/*RF2*/(C)->_arguments/*8*/)))->_first_one/*4*/)/*)*/;
  3581. return R;
  3582. }
  3583.  
  3584.  
  3585. T6 r123call_proc_call_stupid_switch(T123* C,T0* a1){
  3586. T6 R=0;
  3587. /*[IF*/
  3588. if(((/*RF2*/(C)->_arguments/*8*/))==((void*)(NULL))){
  3589. R=1;
  3590. }
  3591. else{
  3592. R=/*SSFRF4*//*X139stupid_switch*/r139stupid_switch((T139*)((/*RF2*/(C)->_arguments/*8*/)),a1);
  3593. }
  3594. /*FI]*/
  3595. /*[IF*/
  3596. if(R){
  3597. /*[IF*/
  3598. if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  3599. /*[IF*/
  3600. if(r49same_base_feature((/*RF2*/(C)->_run_feature/*16*/),a1)){
  3601. R=(X334stupid_switch((/*RF2*/(C)->_run_feature/*16*/),a1))!=((void*)(NULL));
  3602. }
  3603. else{
  3604. R=0;
  3605. }
  3606. /*FI]*/
  3607. }
  3608. else{
  3609. R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
  3610. }
  3611. /*FI]*/
  3612. }
  3613. /*FI]*/
  3614. return R;
  3615. }
  3616.  
  3617.  
  3618. T0* r123run_feature_for(T123* C,T0* a1,T0* a2){
  3619. T0* R=NULL;
  3620. T0* _bc=NULL;
  3621. T0* _rt=NULL;
  3622. T0* _rc=NULL;
  3623. _rt=X104result_type(a1);
  3624. /*[IF*/
  3625. if((_rt)!=((void*)(NULL))){
  3626. _rc=X52run_class(_rt);
  3627. /*[IF*/
  3628. if((_rc)!=((void*)(NULL))){
  3629. _bc=r50base_class(((T50*)_rc));
  3630. R=r51run_feature_for(((T51*)_bc),_rc,a1,(/*RF2*/(C)->_feature_name/*12*/),a2);
  3631. }
  3632. /*FI]*/
  3633. }
  3634. /*FI]*/
  3635. /*[IF*/
  3636. if((R)==((void*)(NULL))){
  3637. r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  3638. /*[IRF3.6append*/{T0* b1=((T0*)ms116_39025);
  3639. r7append((T7*)(oBC66explanation),b1);
  3640. }/*]*/
  3641. r66print_as_fatal_error((T66*)(oBC13eh));
  3642. }
  3643. /*FI]*/
  3644. return R;
  3645. }
  3646.  
  3647.  
  3648. T0* r123static_result_base_class(T123* C){
  3649. T0* R=NULL;
  3650. T0* _cn=NULL;
  3651. T0* _rt=NULL;
  3652. T0* _e_feature=NULL;
  3653. T0* _bc=NULL;
  3654. _bc=X104static_result_base_class((/*RF2*/(C)->_target/*4*/));
  3655. /*[IF*/
  3656. if((_bc)!=((void*)(NULL))){
  3657. _e_feature=r51e_feature(((T51*)_bc),(/*RF2*/(C)->_feature_name/*12*/));
  3658. /*[IF*/
  3659. if((_e_feature)!=((void*)(NULL))){
  3660. _rt=X90result_type(_e_feature);
  3661. /*[IF*/
  3662. if((_rt)!=((void*)(NULL))){
  3663. _cn=X52static_base_class_name(_rt);
  3664. /*[IF*/
  3665. if((_cn)!=((void*)(NULL))){
  3666. R=r61base_class(((T61*)_cn));
  3667. }
  3668. /*FI]*/
  3669. }
  3670. /*FI]*/
  3671. }
  3672. /*FI]*/
  3673. }
  3674. /*FI]*/
  3675. return R;
  3676. }
  3677.  
  3678.  
  3679. void r123make(T123* C,T0* a1,T68 a2,T0* a3){
  3680. (/*SFN*/C->_target)=a1;
  3681. {T129*n=((T129*)malloc(sizeof(*n))/*20*/);
  3682. *n=M129;
  3683. r129make(n,r123operator(),a2);
  3684. (/*SFN*/C->_feature_name)=((T0*)n);
  3685. }
  3686. {T139*n=((T139*)malloc(sizeof(*n))/*16*/);
  3687. *n=M139;
  3688. /*[IRF3.3make_1*/((((T139*)(n)))->_first_one)=(a3);
  3689. /*]*/
  3690. (/*SFN*/C->_arguments)=((T0*)n);
  3691. }
  3692. }
  3693.  
  3694.  
  3695. void r123fatal_error(T0* a1){
  3696. /*[IRF3.6append*/{T0* b1=a1;
  3697. r7append((T7*)(oBC66explanation),b1);
  3698. }/*]*/
  3699. r66print_as_fatal_error((T66*)(oBC13eh));
  3700. }
  3701.  
  3702.  
  3703. void r123assertion_check(T123* C,T3 a1){
  3704. /*[IF*/
  3705. if((a1)==(((T3)'R'))){
  3706. X334vape_check_from((/*RF2*/(C)->_run_feature/*16*/),/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/);
  3707. }
  3708. /*FI]*/
  3709. X104assertion_check((/*RF2*/(C)->_target/*4*/),a1);
  3710. X104assertion_check(r123arg1(C),a1);
  3711. }
  3712.  
  3713.  
  3714. T6 r123stupid_switch(T123* C,T0* a1){
  3715. T6 R=0;
  3716. R=r123call_proc_call_stupid_switch(C,a1);
  3717. /*[IF*/
  3718. if(R){
  3719. R=!(X52is_native_array(r123result_type(C)));
  3720. }
  3721. /*FI]*/
  3722. return R;
  3723. }
  3724.  
  3725.  
  3726. T2 r123isa_dca_inline_argument(T123* C){
  3727. T2 R=0;
  3728. /*[IF*/
  3729. if(X52is_integer(r123result_type(C))){
  3730. R=X104isa_dca_inline_argument((/*RF2*/(C)->_target/*4*/));
  3731. /*[IF*/
  3732. if((R)==(-(1))){
  3733. R=X104isa_dca_inline_argument(r123arg1(C));
  3734. }
  3735.  else if((R)>(0)){
  3736. /*[IF*/
  3737. if((X104isa_dca_inline_argument(r123arg1(C)))>=(0)){
  3738. R=0;
  3739. }
  3740. /*FI]*/
  3741. }
  3742. /*FI]*/
  3743. }
  3744. /*FI]*/
  3745. return R;
  3746. }
  3747.  
  3748.  
  3749. void r226make(T226* C,T0* a1){
  3750. {T227*n=((T227*)malloc(sizeof(*n))/*16*/);
  3751. *n=M227;
  3752. r227with_capacity(n,4,1);
  3753. (/*SFN*/C->_list)=((T0*)n);
  3754. }
  3755. r227add_last((T227*)((/*RF2*/(C)->_list/*0*/)),a1);
  3756. }
  3757.  
  3758.  
  3759. T2 r226compile_to_c(T226* C){
  3760. T2 R=0;
  3761. T2 _i=0;
  3762. T2 _previous=0;
  3763. T2 _state=0;
  3764. _i=1;
  3765. while (!((_state)==(2)))
  3766. {
  3767. {int z1=_state;
  3768.  
  3769. if((0==z1)){
  3770. /*[IF*/
  3771. if((_i)>((/*RF2*/((T227*)((/*RF2*/(C)->_list/*0*/)))->_upper/*8*/))){
  3772. _state=2;
  3773. R=_previous;
  3774. }
  3775. else{
  3776. _previous=r225compile_to_c((T225*)(r227item((T227*)((/*RF2*/(C)->_list/*0*/)),_i)),0);
  3777. {int z2=_previous;
  3778.  
  3779. if((3==z2)){
  3780. _state=1;
  3781. }
  3782.  else 
  3783. if((2==z2)){
  3784. }
  3785.  else {R=1;
  3786. _state=2;
  3787. }}
  3788. }
  3789. /*FI]*/
  3790. }
  3791.  else{/*[IF*/
  3792. if((_i)>((/*RF2*/((T227*)((/*RF2*/(C)->_list/*0*/)))->_upper/*8*/))){
  3793. _state=2;
  3794. {int z2=_previous;
  3795.  
  3796. if((1==z2)){
  3797. R=1;
  3798. }
  3799.  else{R=3;
  3800. }}
  3801. }
  3802. else{
  3803. _previous=r225compile_to_c((T225*)(r227item((T227*)((/*RF2*/(C)->_list/*0*/)),_i)),1);
  3804. {int z2=_previous;
  3805.  
  3806. if((3==z2)){
  3807. }
  3808.  else 
  3809. if((2==z2)){
  3810. }
  3811.  else {_state=2;
  3812. R=1;
  3813. }}
  3814. }
  3815. /*FI]*/
  3816. }}
  3817. _i=(_i)+(1);
  3818. }
  3819. return R;
  3820. }
  3821.  
  3822.  
  3823. void r226afd_check(T226* C){
  3824. T2 _i=0;
  3825. _i=(/*RF2*/((T227*)((/*RF2*/(C)->_list/*0*/)))->_upper/*8*/);
  3826. while (!((_i)==(0)))
  3827. {
  3828. r225afd_check((T225*)(r227item((T227*)((/*RF2*/(C)->_list/*0*/)),_i)));
  3829. _i=(_i)-(1);
  3830. }
  3831. }
  3832.  
  3833.  
  3834. void r226collect_c_tmp(T226* C){
  3835. T2 _i=0;
  3836. _i=(/*RF2*/((T227*)((/*RF2*/(C)->_list/*0*/)))->_upper/*8*/);
  3837. while (!((_i)==(0)))
  3838. {
  3839. r225collect_c_tmp((T225*)(r227item((T227*)((/*RF2*/(C)->_list/*0*/)),_i)));
  3840. _i=(_i)-(1);
  3841. }
  3842. }
  3843.  
  3844.  
  3845. T6 r226use_current(T226* C){
  3846. T6 R=0;
  3847. T2 _i=0;
  3848. _i=1;
  3849. while (!(((_i)>((/*RF2*/((T227*)((/*RF2*/(C)->_list/*0*/)))->_upper/*8*/)))||(R)))
  3850. {
  3851. R=r225use_current((T225*)(r227item((T227*)((/*RF2*/(C)->_list/*0*/)),_i)));
  3852. _i=(_i)+(1);
  3853. }
  3854. return R;
  3855. }
  3856.  
  3857.  
  3858. T6 r226stupid_switch(T226* C,T0* a1){
  3859. T6 R=0;
  3860. T2 _i=0;
  3861. R=1;
  3862. _i=1;
  3863. while (!((!(R))||((_i)>((/*RF2*/((T227*)((/*RF2*/(C)->_list/*0*/)))->_upper/*8*/)))))
  3864. {
  3865. R=r225stupid_switch((T225*)(r227item((T227*)((/*RF2*/(C)->_list/*0*/)),_i)),a1);
  3866. _i=(_i)+(1);
  3867. }
  3868. return R;
  3869. }
  3870.  
  3871.  
  3872. T0* r226to_runnable(T226* C,T0* a1){
  3873. T0* R=NULL;
  3874. T2 _i=0;
  3875. /*[IF*/
  3876. if(((/*RF2*/(C)->_current_type/*4*/))!=((void*)(NULL))){
  3877. {T226*n=((T226*)malloc(sizeof(*n))/*8*/);
  3878. *n=M226;
  3879. r226make(n,/*(IRF4.6first*/((/*RF2*/((T227*)((/*RF2*/(C)->_list/*0*/)))->_storage/*0*/))[0]/*)*/);
  3880. R=((T0*)n);
  3881. }
  3882. _i=2;
  3883. while (!((_i)>((/*RF2*/((T227*)((/*RF2*/(C)->_list/*0*/)))->_upper/*8*/))))
  3884. {
  3885. /*[IRF3.5add_last*/r227add_last(((T227*)((/*RF2*/(((T226*)R))->_list/*0*/))),r227item((T227*)((/*RF2*/(C)->_list/*0*/)),_i));
  3886. /*]*/
  3887. _i=(_i)+(1);
  3888. }
  3889. R=r226to_runnable(((T226*)R),a1);
  3890. }
  3891. else{
  3892. (/*SFN*/C->_current_type)=a1;
  3893. _i=1;
  3894. while (!(((_i)>((/*RF2*/((T227*)((/*RF2*/(C)->_list/*0*/)))->_upper/*8*/)))||((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)>(0))))
  3895. {
  3896. /*[IRF3.6put*/{T227* C1=(T227*)((/*RF2*/(C)->_list/*0*/));
  3897. T0* b1=r225to_runnable((T225*)(r227item((T227*)((/*RF2*/(C)->_list/*0*/)),_i)),a1);
  3898. T2 b2=_i;
  3899. ((/*RF2*/(C1)->_storage/*0*/))[(b2)-((/*RF2*/(C1)->_lower/*12*/))]=(b1);
  3900. }/*]*/
  3901. _i=(_i)+(1);
  3902. }
  3903. R=((T0*)(C));
  3904. }
  3905. /*FI]*/
  3906. return R;
  3907. }
  3908.  
  3909.  
  3910. void r51check_expanded_with(T51* C,T0* a1){
  3911. T0* _rf=NULL;
  3912. /*[IF*/
  3913. if((/*RF2*/(C)->_is_deferred/*16*/)){
  3914. r66add_type(a1,((T0*)ms14_11292));
  3915. r51fatal_error(((T0*)ms51_121824));
  3916. }
  3917. /*FI]*/
  3918. /*[IF*/
  3919. if(((/*RF2*/(C)->_creation_clause_list/*38*/))!=((void*)(NULL))){
  3920. r77check_expanded_with((T77*)((/*RF2*/(C)->_creation_clause_list/*38*/)),a1);
  3921. }
  3922. /*FI]*/
  3923. _rf=r51expanded_initializer(C,a1);
  3924. }
  3925.  
  3926.  
  3927. T6 r51is_subclass_of(T51* C,T0* a1){
  3928. T6 R=0;
  3929. /*[IF*/
  3930. if(((/*RF2*/(C)->_isom/*62*/))==((void*)(NULL))){
  3931. R=1;
  3932. }
  3933.  else if(r64fast_has((T64*)((/*RF2*/(C)->_isom/*62*/)),a1)){
  3934. R=1;
  3935. }
  3936.  else if(((/*RF2*/(((T51*)a1))->_isom/*62*/))==((void*)(NULL))){
  3937. }
  3938. else{
  3939. /*[IF*/
  3940. if(r51is_any(((T51*)a1))){
  3941. R=1;
  3942. }
  3943. else{
  3944. /*[IRF3.3clear*/((((T64*)((T64*)(oBC51visited))))->_upper)=(-(1));
  3945. /*]*/
  3946. R=r51is_subclass_of_aux(C,a1);
  3947. }
  3948. /*FI]*/
  3949. /*[IF*/
  3950. if(R){
  3951. r64add_last((T64*)((/*RF2*/(C)->_isom/*62*/)),a1);
  3952. }
  3953. /*FI]*/
  3954. }
  3955. /*FI]*/
  3956. return R;
  3957. }
  3958.  
  3959.  
  3960. void r51inherit_cycle_check(T51* C){
  3961. T2 _i=0;
  3962. r64add_last((T64*)(oBC51visited),(T0*)C);
  3963. /*[IF*/
  3964. if((/*(IRF4.6first*/((/*RF2*/((T64*)(oBC51visited))->_storage/*0*/))[0]/*)*/)==((void*)(C))){
  3965. /*[IRF3.6append*/{T0* b1=((T0*)ms51_36828);
  3966. r7append((T7*)(oBC66explanation),b1);
  3967. }/*]*/
  3968. _i=0;
  3969. while (!((_i)>((/*RF2*/((T64*)(oBC51visited))->_upper/*8*/))))
  3970. {
  3971. /*[IRF3.6append*/{T0* b1=(/*RF2*/((T61*)((/*RF2*/((T51*)(/*(IRF4.6item*/((/*RF2*/((T64*)(oBC51visited))->_storage/*0*/))[_i]/*)*/))->_name/*18*/)))->_to_string/*8*/);
  3972. r7append((T7*)(oBC66explanation),b1);
  3973. }/*]*/
  3974. /*[IF*/
  3975. if((_i)<((/*RF2*/((T64*)(oBC51visited))->_upper/*8*/))){
  3976. /*[IRF3.6append*/{T0* b1=((T0*)ms51_152);
  3977. r7append((T7*)(oBC66explanation),b1);
  3978. }/*]*/
  3979. }
  3980. /*FI]*/
  3981. _i=(_i)+(1);
  3982. }
  3983. r51fatal_error(((T0*)ms51_1070));
  3984. }
  3985.  else if(((/*RF2*/(C)->_parent_list/*34*/))!=((void*)(NULL))){
  3986. r57inherit_cycle_check((T57*)((/*RF2*/(C)->_parent_list/*34*/)));
  3987. }
  3988. /*FI]*/
  3989. }
  3990.  
  3991.  
  3992. T0* r51root_procedure_name(T51* C,T0* a1){
  3993. T0* R=NULL;
  3994. /*[IF*/
  3995. if(((/*RF2*/(C)->_creation_clause_list/*38*/))==((void*)(NULL))){
  3996. r66add_position((/*RF2*/((T61*)((/*RF2*/(C)->_name/*18*/)))->_start_position/*0*/));
  3997. r51fatal_error(((T0*)ms51_140505));
  3998. }
  3999. else{
  4000. R=r77root_procedure_name((T77*)((/*RF2*/(C)->_creation_clause_list/*38*/)),a1);
  4001. /*[IF*/
  4002. if((R)==((void*)(NULL))){
  4003. r66add_position((/*RF2*/((T61*)((/*RF2*/(C)->_name/*18*/)))->_start_position/*0*/));
  4004. /*[IRF3.6append*/{T0* b1=((T0*)ms51_33618);
  4005. r7append((T7*)(oBC66explanation),b1);
  4006. }/*]*/
  4007. /*[IRF3.6append*/{T0* b1=a1;
  4008. r7append((T7*)(oBC66explanation),b1);
  4009. }/*]*/
  4010. r51fatal_error(((T0*)ms51_107460));
  4011. }
  4012. /*FI]*/
  4013. }
  4014. /*FI]*/
  4015. return R;
  4016. }
  4017.  
  4018.  
  4019. T0* r51super_e_feature(T51* C,T0* a1){
  4020. T0* R=NULL;
  4021. /*[IF*/
  4022. if(((/*RF2*/(C)->_parent_list/*34*/))==((void*)(NULL))){
  4023. /*[IF*/
  4024. if(r51is_general(C)){
  4025. }
  4026. else{
  4027. R=r51e_feature((T51*)(r51class_any()),a1);
  4028. }
  4029. /*FI]*/
  4030. }
  4031. else{
  4032. R=r57e_feature((T57*)((/*RF2*/(C)->_parent_list/*34*/)),a1);
  4033. }
  4034. /*FI]*/
  4035. return R;
  4036. }
  4037.  
  4038.  
  4039. void r51set_parent_list(T51* C,T68 a1,T0* a2,T0* a3){
  4040. {T57*n=((T57*)malloc(sizeof(*n))/*20*/);
  4041. *n=M57;
  4042. r57make(n,(T0*)C,a1,a2,a3);
  4043. (/*SFN*/C->_parent_list)=((T0*)n);
  4044. }
  4045. }
  4046. T0*oBC13class_any=NULL;
  4047. int fBC13class_any=0;
  4048.  
  4049.  
  4050. T0* r51class_any(void){
  4051. if(fBC13class_any==0){fBC13class_any=1;{
  4052. oBC13class_any=r49get_class(((T0*)ms15_696));
  4053. }}
  4054. return oBC13class_any;
  4055. }
  4056.  
  4057.  
  4058. void r51add_index_clause(T51* C,T0* a1){
  4059. /*[IF*/
  4060. if(((/*RF2*/(C)->_index_list/*8*/))==((void*)(NULL))){
  4061. {T322*n=((T322*)malloc(sizeof(*n))/*4*/);
  4062. *n=M322;
  4063. r322make(n,a1);
  4064. (/*SFN*/C->_index_list)=((T0*)n);
  4065. }
  4066. }
  4067. else{
  4068. /*[IRF3.5add_last*/r323add_last(((T323*)((/*RF2*/((T322*)((/*RF2*/(C)->_index_list/*8*/)))->_list/*0*/))),a1);
  4069. /*]*/
  4070. }
  4071. /*FI]*/
  4072. }
  4073.  
  4074.  
  4075. void r51set_invariant(T51* C,T68 a1,T0* a2,T0* a3){
  4076. /*[IF*/
  4077. if(((a2)!=((void*)(NULL)))||((a3)!=((void*)(NULL)))){
  4078. {T102*n=((T102*)malloc(sizeof(*n))/*24*/);
  4079. *n=M102;
  4080. r102make(n,a1,a2,a3);
  4081. (/*SFN*/C->_class_invariant)=((T0*)n);
  4082. }
  4083. }
  4084. /*FI]*/
  4085. }
  4086.  
  4087.  
  4088. void r51warning(T68 a1,T0* a2){
  4089. r66add_position(a1);
  4090. /*[IRF3.6append*/{T0* b1=a2;
  4091. r7append((T7*)(oBC66explanation),b1);
  4092. }/*]*/
  4093. r66print_as_warning((T66*)(oBC13eh));
  4094. }
  4095.  
  4096.  
  4097. void r51collect_assertion(T51* C,T0* a1){
  4098. T0* _fn_key=NULL;
  4099. _fn_key=X82to_key(a1);
  4100. /*[IF*/
  4101. if(r91has((T91*)((/*RF2*/(C)->_feature_dictionary/*54*/)),_fn_key)){
  4102. r383assertion_add_last((T383*)(oBC13assertion_collector),r91at((T91*)((/*RF2*/(C)->_feature_dictionary/*54*/)),_fn_key));
  4103. }
  4104. /*FI]*/
  4105. /*[IF*/
  4106. if(((/*RF2*/(C)->_parent_list/*34*/))==((void*)(NULL))){
  4107. /*[IF*/
  4108. if(r51is_general(C)){
  4109. }
  4110. else{
  4111. r51collect_assertion((T51*)(r51class_any()),a1);
  4112. }
  4113. /*FI]*/
  4114. }
  4115. else{
  4116. r57collect_assertion((T57*)((/*RF2*/(C)->_parent_list/*34*/)),a1);
  4117. }
  4118. /*FI]*/
  4119. }
  4120.  
  4121.  
  4122. void r51set_obsolete_type_string(T51* C,T0* a1){
  4123. (/*SFN*/C->_obsolete_type_string)=a1;
  4124. /*[IF*/
  4125. if(((/*RF2*/(C)->_obsolete_type_string/*30*/))!=((void*)(NULL))){
  4126. /*[IF*/
  4127. if((/*RF2*/((T49*)(oBC13small_eiffel))->_short_flag/*5*/)){
  4128. }
  4129.  else if((/*RF2*/((T49*)(oBC13small_eiffel))->_pretty_flag/*6*/)){
  4130. }
  4131. else{
  4132. /*[IRF3.6append*/{T0* b1=((T0*)ms51_4164);
  4133. r7append((T7*)(oBC66explanation),b1);
  4134. }/*]*/
  4135. /*[IRF3.6append*/{T0* b1=(/*RF2*/((T61*)((/*RF2*/(C)->_name/*18*/)))->_to_string/*8*/);
  4136. r7append((T7*)(oBC66explanation),b1);
  4137. }/*]*/
  4138. /*[IRF3.6append*/{T0* b1=((T0*)ms51_8175);
  4139. r7append((T7*)(oBC66explanation),b1);
  4140. }/*]*/
  4141. /*[IRF3.6append*/{T0* b1=(/*RF2*/((T161*)((/*RF2*/(C)->_obsolete_type_string/*30*/)))->_to_string/*12*/);
  4142. r7append((T7*)(oBC66explanation),b1);
  4143. }/*]*/
  4144. r66add_position((/*RF2*/((T61*)((/*RF2*/(C)->_name/*18*/)))->_start_position/*0*/));
  4145. r66print_as_warning((T66*)(oBC13eh));
  4146. }
  4147. /*FI]*/
  4148. }
  4149. /*FI]*/
  4150. }
  4151.  
  4152.  
  4153. T0* r51look_up_for(T51* C,T0* a1,T0* a2){
  4154. T0* R=NULL;
  4155. T2 _i=0;
  4156. T0* _super_fn=NULL;
  4157. T0* _fnl=NULL;
  4158. T0* _cst_att=NULL;
  4159. T0* _fn_key=NULL;
  4160. T0* _super=NULL;
  4161. _fn_key=X82to_key(a2);
  4162. /*[IF*/
  4163. if(r91has((T91*)((/*RF2*/(C)->_feature_dictionary/*54*/)),_fn_key)){
  4164. R=r91at((T91*)((/*RF2*/(C)->_feature_dictionary/*54*/)),_fn_key);
  4165. _super=r51super_look_up_for(C,a1,a2);
  4166. /*[IF*/
  4167. if((_super)!=((void*)(NULL))){
  4168. r51vdrd6(a1,_super,R);
  4169. _cst_att=_super;
  4170. if(NULL!=(_cst_att)){
  4171. switch(((T0*)_cst_att)->id){
  4172. case 211:case 198:case 206:case 209:case 210:case 204:case 205:case 212:
  4173. break;
  4174. default:
  4175. _cst_att=NULL;
  4176. }
  4177. }/*[IF*/
  4178. if((_cst_att)!=((void*)(NULL))){
  4179. {T68 se_tmp0;
  4180. r66add_position((*(se_tmp0=X90start_position(_super),&se_tmp0)));
  4181. }
  4182. {T68 se_tmp0;
  4183. r66add_position((*(se_tmp0=X90start_position(R),&se_tmp0)));
  4184. }
  4185. r51fatal_error(((T0*)ms51_82177));
  4186. }
  4187. /*FI]*/
  4188. _fnl=/*SSWARF2*//*X90names*/(/*RF2*/(((T198*)_super))->_names/*8*/);
  4189. _i=r83count(((T83*)_fnl));
  4190. while (!((_i)<(1)))
  4191. {
  4192. _super_fn=r83item(((T83*)_fnl),_i);
  4193. /*[IF*/
  4194. if(X82is_frozen(_super_fn)){
  4195. /*[IF*/
  4196. if((X82to_key(_super_fn))==((void*)(_fn_key))){
  4197. {T68 se_tmp0;
  4198. r66add_position((*(se_tmp0=X82start_position(_super_fn),&se_tmp0)));
  4199. }
  4200. {T68 se_tmp0;
  4201. r66add_position((*(se_tmp0=X90start_position(R),&se_tmp0)));
  4202. }
  4203. r51fatal_error(((T0*)ms51_66429));
  4204. }
  4205. /*FI]*/
  4206. }
  4207. /*FI]*/
  4208. _i=(_i)-(1);
  4209. }
  4210. /*[IF*/
  4211. if(!(X90can_hide(R,_super,a1))){
  4212. {T68 se_tmp0;
  4213. r66add_position((*(se_tmp0=X90start_position(_super),&se_tmp0)));
  4214. }
  4215. {T68 se_tmp0;
  4216. r66add_position((*(se_tmp0=X90start_position(R),&se_tmp0)));
  4217. }
  4218. /*[IRF3.6append*/{T0* b1=((T0*)ms51_89544);
  4219. r7append((T7*)(oBC66explanation),b1);
  4220. }/*]*/
  4221. r66print_as_warning((T66*)(oBC13eh));
  4222. }
  4223. /*FI]*/
  4224. /*[IF*/
  4225. if(X90is_deferred(_super)){
  4226. }
  4227.  else if(r51has_redefine(C,a2)){
  4228. }
  4229. else{
  4230. {T68 se_tmp0;
  4231. r66add_position((*(se_tmp0=X90start_position(R),&se_tmp0)));
  4232. }
  4233. {T68 se_tmp0;
  4234. r66add_position((*(se_tmp0=X90start_position(_super),&se_tmp0)));
  4235. }
  4236. /*[IRF3.6append*/{T0* b1=((T0*)ms51_30576);
  4237. r7append((T7*)(oBC66explanation),b1);
  4238. }/*]*/
  4239. /*[IRF3.6append*/{T0* b1=(/*RF2*/((T61*)((/*RF2*/(C)->_name/*18*/)))->_to_string/*8*/);
  4240. r7append((T7*)(oBC66explanation),b1);
  4241. }/*]*/
  4242. /*[IRF3.6append*/{T0* b1=((T0*)ms51_32700);
  4243. r7append((T7*)(oBC66explanation),b1);
  4244. }/*]*/
  4245. r66print_as_error((T66*)(oBC13eh));
  4246. }
  4247. /*FI]*/
  4248. }
  4249. /*FI]*/
  4250. }
  4251. else{
  4252. R=r51super_look_up_for(C,a1,a2);
  4253. }
  4254. /*FI]*/
  4255. return R;
  4256. }
  4257.  
  4258.  
  4259. T6 r51has_creation(T51* C,T0* a1){
  4260. T6 R=0;
  4261. T0* _cn=NULL;
  4262. T0* _bc=NULL;
  4263. T0* _cc=NULL;
  4264. /*[IF*/
  4265. if(((/*RF2*/(C)->_creation_clause_list/*38*/))==((void*)(NULL))){
  4266. /*[IRF3.6append*/{T0* b1=(/*RF2*/((T61*)((/*RF2*/(C)->_name/*18*/)))->_to_string/*8*/);
  4267. r7append((T7*)(oBC66explanation),b1);
  4268. }/*]*/
  4269. /*[IRF3.6append*/{T0* b1=((T0*)ms51_35616);
  4270. r7append((T7*)(oBC66explanation),b1);
  4271. }/*]*/
  4272. {T68 se_tmp0;
  4273. r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
  4274. }
  4275. r66print_as_error((T66*)(oBC13eh));
  4276. }
  4277. else{
  4278. _cc=r77get_clause((T77*)((/*RF2*/(C)->_creation_clause_list/*38*/)),a1);
  4279. /*[IF*/
  4280. if((_cc)==((void*)(NULL))){
  4281. /*[IRF3.6append*/{T0* b1=((T0*)ms14_7263);
  4282. r7append((T7*)(oBC66explanation),b1);
  4283. }/*]*/
  4284. /*[IRF3.6append*/{T0* b1=X82to_string(a1);
  4285. r7append((T7*)(oBC66explanation),b1);
  4286. }/*]*/
  4287. /*[IRF3.6append*/{T0* b1=((T0*)ms51_72324);
  4288. r7append((T7*)(oBC66explanation),b1);
  4289. }/*]*/
  4290. /*[IRF3.6append*/{T0* b1=(/*RF2*/((T61*)((/*RF2*/(C)->_name/*18*/)))->_to_string/*8*/);
  4291. r7append((T7*)(oBC66explanation),b1);
  4292. }/*]*/
  4293. {T68 se_tmp0;
  4294. r51error((*(se_tmp0=X82start_position(a1),&se_tmp0)),((T0*)ms14_46));
  4295. }
  4296. }
  4297. else{
  4298. R=1;
  4299. _bc=X82origin_base_class(a1);
  4300. /*[IF*/
  4301. if((_bc)!=((void*)(NULL))){
  4302. _cn=(/*RF2*/(((T51*)_bc))->_name/*18*/);
  4303. R=r99gives_permission_to((T99*)((/*RF2*/(((T78*)_cc))->_clients/*8*/)),_cn);
  4304. }
  4305. /*FI]*/
  4306. }
  4307. /*FI]*/
  4308. }
  4309. /*FI]*/
  4310. /*[IF*/
  4311. if(!(R)){
  4312. {T68 se_tmp0;
  4313. r51error((*(se_tmp0=X82start_position(a1),&se_tmp0)),((T0*)ms51_43966));
  4314. }
  4315. }
  4316. /*FI]*/
  4317. return R;
  4318. }
  4319.  
  4320.  
  4321. T0* r51up_to_original(T51* C,T0* a1,T0* a2){
  4322. T0* R=NULL;
  4323. /*[IF*/
  4324. if(r51proper_has(C,a2)){
  4325. /*[IF*/
  4326. if(((/*RF2*/(C)->_parent_list/*34*/))==((void*)(NULL))){
  4327. R=r51new_name_of_original(((T51*)a1),(T0*)C,a2);
  4328. }
  4329. else{
  4330. R=r57up_to_original((T57*)((/*RF2*/(C)->_parent_list/*34*/)),a1,a2);
  4331. /*[IF*/
  4332. if((R)==((void*)(NULL))){
  4333. R=r51new_name_of_original(((T51*)a1),(T0*)C,a2);
  4334. }
  4335. /*FI]*/
  4336. }
  4337. /*FI]*/
  4338. }
  4339.  else if(((/*RF2*/(C)->_parent_list/*34*/))!=((void*)(NULL))){
  4340. R=r57up_to_original((T57*)((/*RF2*/(C)->_parent_list/*34*/)),a1,a2);
  4341. }
  4342.  else if(r51is_general(C)){
  4343. }
  4344. else{
  4345. R=r51up_to_original((T51*)(r51class_any()),a1,a2);
  4346. }
  4347. /*FI]*/
  4348. return R;
  4349. }
  4350.  
  4351.  
  4352. void r51error(T68 a1,T0* a2){
  4353. r66add_position(a1);
  4354. /*[IRF3.6append*/{T0* b1=a2;
  4355. r7append((T7*)(oBC66explanation),b1);
  4356. }/*]*/
  4357. r66print_as_error((T66*)(oBC13eh));
  4358. }
  4359.  
  4360.  
  4361. void r51add_creation_clause(T51* C,T0* a1){
  4362. /*[IF*/
  4363. if(((/*RF2*/(C)->_creation_clause_list/*38*/))==((void*)(NULL))){
  4364. {T77*n=((T77*)malloc(sizeof(*n))/*4*/);
  4365. *n=M77;
  4366. r77make(n,a1);
  4367. (/*SFN*/C->_creation_clause_list)=((T0*)n);
  4368. }
  4369. }
  4370. else{
  4371. /*[IRF3.5add_last*/r79add_last(((T79*)((/*RF2*/((T77*)((/*RF2*/(C)->_creation_clause_list/*38*/)))->_list/*0*/))),a1);
  4372. /*]*/
  4373. }
  4374. /*FI]*/
  4375. }
  4376.  
  4377.  
  4378. T6 r51proper_has(T51* C,T0* a1){
  4379. T6 R=0;
  4380. R=r91has((T91*)((/*RF2*/(C)->_feature_dictionary/*54*/)),X82to_key(a1));
  4381. return R;
  4382. }
  4383.  
  4384.  
  4385. T6 r51has_redefine(T51* C,T0* a1){
  4386. T6 R=0;
  4387. /*[IF*/
  4388. if(((/*RF2*/(C)->_parent_list/*34*/))!=((void*)(NULL))){
  4389. R=r57has_redefine((T57*)((/*RF2*/(C)->_parent_list/*34*/)),a1);
  4390. }
  4391. /*FI]*/
  4392. return R;
  4393. }
  4394.  
  4395.  
  4396. T0* r51run_ensure(T51* C,T0* a1){
  4397. T0* R=NULL;
  4398. T0* _ct=NULL;
  4399. r383ensure_start((T383*)(oBC13assertion_collector));
  4400. _ct=/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)a1))->_current_type/*8*/);
  4401. r51collect_assertion(C,/*SSWARF2*//*X334name*/(/*RF2*/(((T368*)a1))->_name/*12*/));
  4402. R=r383ensure_end((T383*)(oBC13assertion_collector),a1,_ct);
  4403. return R;
  4404. }
  4405.  
  4406.  
  4407. void r51make(T51* C,T0* a1,T0* a2,T2 a3){
  4408. (/*SFN*/C->_path)=a1;
  4409. {T61*n=((T61*)malloc(sizeof(*n))/*12*/);
  4410. *n=M61;
  4411. /*[IRF3.3unknown_position*/((((T61*)(n)))->_to_string)=(a2);
  4412. /*]*/
  4413. (/*SFN*/C->_name)=((T0*)n);
  4414. }
  4415. (/*SFN*/C->_id)=a3;
  4416. r49add_base_class((T49*)(oBC13small_eiffel),(T0*)C);
  4417. {T64*n=((T64*)malloc(sizeof(*n))/*12*/);
  4418. *n=M64;
  4419. r64with_capacity(n,16);
  4420. (/*SFN*/C->_isom)=((T0*)n);
  4421. }
  4422. {T91*n=((T91*)malloc(sizeof(*n))/*36*/);
  4423. *n=M91;
  4424. /*[IRF3.4make*/r91with_capacity(n,32);
  4425. /*]*/
  4426. (/*SFN*/C->_feature_dictionary)=((T0*)n);
  4427. }
  4428. }
  4429.  
  4430.  
  4431. void r51vdrd6(T0* a1,T0* a2,T0* a3){
  4432. T0* _rt2=NULL;
  4433. T0* _rt1=NULL;
  4434. T0* _ct=NULL;
  4435. T0* _writable_attribute=NULL;
  4436. _writable_attribute=a2;
  4437. if(NULL!=(_writable_attribute)){
  4438. switch(((T0*)_writable_attribute)->id){
  4439. case 315:
  4440. break;
  4441. default:
  4442. _writable_attribute=NULL;
  4443. }
  4444. }/*[IF*/
  4445. if((_writable_attribute)!=((void*)(NULL))){
  4446. _writable_attribute=a3;
  4447. if(NULL!=(_writable_attribute)){
  4448. switch(((T0*)_writable_attribute)->id){
  4449. case 315:
  4450. break;
  4451. default:
  4452. _writable_attribute=NULL;
  4453. }
  4454. }/*[IF*/
  4455. if((_writable_attribute)==((void*)(NULL))){
  4456. r51fatal_error_vdrd6(a2,a3,((T0*)ms51_196786));
  4457. }
  4458. else{
  4459. _ct=(/*RF2*/(((T50*)a1))->_current_type/*0*/);
  4460. _rt1=X52to_runnable(X90result_type(a2),_ct);
  4461. _rt2=X52to_runnable(X90result_type(a3),_ct);
  4462. /*[IF*/
  4463. if(X52is_reference(_rt1)){
  4464. /*[IF*/
  4465. if(X52is_reference(_rt2)){
  4466. }
  4467. else{
  4468. r51fatal_error_vdrd6(a2,a3,((T0*)ms51_228345));
  4469. }
  4470. /*FI]*/
  4471. }
  4472.  else if(X52is_reference(_rt2)){
  4473. r51fatal_error_vdrd6(a2,a3,((T0*)ms51_228345));
  4474. }
  4475. /*FI]*/
  4476. }
  4477. /*FI]*/
  4478. }
  4479. /*FI]*/
  4480. }
  4481.  
  4482.  
  4483. T0* r51get_default_rescue(T51* C,T0* a1,T0* a2){
  4484. T0* R=NULL;
  4485. T0* _fn2=NULL;
  4486. T0* _fn1=NULL;
  4487. T0* _p=NULL;
  4488. T0* _general=NULL;
  4489. _general=r51class_general();
  4490. /*[IF*/
  4491. if((C)!=((void*)(_general))){
  4492. _p=r51general_default_rescue(((T51*)_general));
  4493. /*[IF*/
  4494. if((_p)!=((void*)(NULL))){
  4495. _fn1=/*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/(((T303*)_p))->_names/*8*/))))->_first/*0*/)/*)*/;
  4496. _fn2=r51new_name_of(C,_general,_fn1);
  4497. /*[IF*/
  4498. if((X82to_string(_fn2))!=((void*)(X82to_string(a2)))){
  4499. _p=r51look_up_for(C,a1,_fn2);
  4500. if(NULL!=(_p)){
  4501. switch(((T0*)_p)->id){
  4502. case 303:
  4503. break;
  4504. default:
  4505. _p=NULL;
  4506. }
  4507. }/*[IF*/
  4508. if((_p)!=((void*)(NULL))){
  4509. R=r303a_default_rescue(((T303*)_p),a1,_fn2);
  4510. }
  4511. /*FI]*/
  4512. }
  4513. /*FI]*/
  4514. }
  4515. /*FI]*/
  4516. }
  4517. /*FI]*/
  4518. return R;
  4519. }
  4520.  
  4521.  
  4522. T0* r51new_name_of_original(T51* C,T0* a1,T0* a2){
  4523. T0* R=NULL;
  4524. /*[IF*/
  4525. if((C)==((void*)(a1))){
  4526. R=a2;
  4527. }
  4528.  else if(r51is_general(C)){
  4529. R=a2;
  4530. }
  4531. else{
  4532. /*[IF*/
  4533. if(((/*RF2*/(C)->_parent_list/*34*/))==((void*)(NULL))){
  4534. R=r51new_name_of((T51*)(r51class_any()),a1,a2);
  4535. }
  4536. else{
  4537. /*[IRF3.3clear*/((((T360*)((T360*)(oBC51going_up_trace))))->_upper)=(-(1));
  4538. /*]*/
  4539. R=r57going_up((T57*)((/*RF2*/(C)->_parent_list/*34*/)),oBC51going_up_trace,a1,a2);
  4540. }
  4541. /*FI]*/
  4542. }
  4543. /*FI]*/
  4544. return R;
  4545. }
  4546.  
  4547.  
  4548. void r51check_generic_formal_arguments(T51* C){
  4549. /*[IF*/
  4550. if(((/*RF2*/(C)->_formal_generic_list/*22*/))!=((void*)(NULL))){
  4551. r94check_generic_formal_arguments((T94*)((/*RF2*/(C)->_formal_generic_list/*22*/)));
  4552. }
  4553. /*FI]*/
  4554. }
  4555. T0*oBC51mem_fn=NULL;
  4556. int fBC51mem_fn=0;
  4557.  
  4558.  
  4559. T0* r51mem_fn(void){
  4560. if(fBC51mem_fn==0){fBC51mem_fn=1;{
  4561. T68 _unknown_position={NULL,0};
  4562. {T138*n=((T138*)malloc(sizeof(*n))/*20*/);
  4563. *n=M138;
  4564. oBC51mem_fn=((T0*)n);
  4565. r138make(n,((T0*)ms15_6762),_unknown_position);
  4566. }
  4567. }}
  4568. return oBC51mem_fn;
  4569. }
  4570.  
  4571.  
  4572. void r51set_is_expanded(T51* C){
  4573. /*[IF*/
  4574. if((/*RF2*/(C)->_is_deferred/*16*/)){
  4575. /*[IRF3.6error_vtec1*/{T51* C1=C;
  4576. r51error((/*RF2*/((T61*)((/*RF2*/(C1)->_name/*18*/)))->_start_position/*0*/),((T0*)ms51_130095));
  4577. }/*]*/
  4578. }
  4579. /*FI]*/
  4580. (/*SFN*/C->_is_expanded)=1;
  4581. }
  4582.  
  4583.  
  4584. void r51set_is_deferred(T51* C){
  4585. /*[IF*/
  4586. if((/*RF2*/(C)->_is_expanded/*17*/)){
  4587. /*[IRF3.6error_vtec1*/{T51* C1=C;
  4588. r51error((/*RF2*/((T61*)((/*RF2*/(C1)->_name/*18*/)))->_start_position/*0*/),((T0*)ms51_130095));
  4589. }/*]*/
  4590. }
  4591. /*FI]*/
  4592. (/*SFN*/C->_is_deferred)=1;
  4593. }
  4594.  
  4595.  
  4596. void r51add_feature_clause(T51* C,T0* a1){
  4597. /*[IF*/
  4598. if(((/*RF2*/(C)->_feature_clause_list/*42*/))==((void*)(NULL))){
  4599. {T95*n=((T95*)malloc(sizeof(*n))/*4*/);
  4600. *n=M95;
  4601. r95make(n,a1);
  4602. (/*SFN*/C->_feature_clause_list)=((T0*)n);
  4603. }
  4604. }
  4605. else{
  4606. /*[IRF3.5add_last*/r97add_last(((T97*)((/*RF2*/((T95*)((/*RF2*/(C)->_feature_clause_list/*42*/)))->_list/*0*/))),a1);
  4607. /*]*/
  4608. }
  4609. /*FI]*/
  4610. }
  4611.  
  4612.  
  4613. T0* r51new_name_of(T51* C,T0* a1,T0* a2){
  4614. T0* R=NULL;
  4615. /*[IF*/
  4616. if((C)==((void*)(a1))){
  4617. R=a2;
  4618. }
  4619. else{
  4620. R=r51up_to_original(((T51*)a1),(T0*)C,a2);
  4621. /*[IF*/
  4622. if((R)==((void*)(NULL))){
  4623. {T68 se_tmp0;
  4624. r66add_position((*(se_tmp0=X82start_position(a2),&se_tmp0)));
  4625. }
  4626. /*[IRF3.6append*/{T0* b1=((T0*)ms14_7263);
  4627. r7append((T7*)(oBC66explanation),b1);
  4628. }/*]*/
  4629. /*[IRF3.6append*/{T0* b1=X82to_string(a2);
  4630. r7append((T7*)(oBC66explanation),b1);
  4631. }/*]*/
  4632. /*[IRF3.6append*/{T0* b1=((T0*)ms51_5320);
  4633. r7append((T7*)(oBC66explanation),b1);
  4634. }/*]*/
  4635. /*[IRF3.6append*/{T0* b1=(/*RF2*/((T61*)((/*RF2*/(((T51*)a1))->_name/*18*/)))->_to_string/*8*/);
  4636. r7append((T7*)(oBC66explanation),b1);
  4637. }/*]*/
  4638. /*[IRF3.6append*/{T0* b1=((T0*)ms51_15152);
  4639. r7append((T7*)(oBC66explanation),b1);
  4640. }/*]*/
  4641. /*[IRF3.6append*/{T0* b1=(/*RF2*/((T61*)((/*RF2*/(C)->_name/*18*/)))->_to_string/*8*/);
  4642. r7append((T7*)(oBC66explanation),b1);
  4643. }/*]*/
  4644. r51fatal_error(((T0*)ms51_160aa));
  4645. }
  4646. /*FI]*/
  4647. }
  4648. /*FI]*/
  4649. return R;
  4650. }
  4651.  
  4652.  
  4653. T6 r51has(T51* C,T0* a1){
  4654. T6 R=0;
  4655. R=(r51e_feature(C,a1))!=((void*)(NULL));
  4656. return R;
  4657. }
  4658.  
  4659.  
  4660. T0* r51root_procedure(T51* C,T0* a1){
  4661. T0* R=NULL;
  4662. T0* _f=NULL;
  4663. T0* _rc=NULL;
  4664. /*[IF*/
  4665. if(/*(IRF4.7is_generic*/((/*RF2*/(C)->_formal_generic_list/*22*/))!=(NULL)/*)*/){
  4666. /*[IRF3.6append*/{T0* b1=(/*RF2*/((T61*)((/*RF2*/(C)->_name/*18*/)))->_to_string/*8*/);
  4667. r7append((T7*)(oBC66explanation),b1);
  4668. }/*]*/
  4669. /*[IRF3.6append*/{T0* b1=((T0*)ms51_147680);
  4670. r7append((T7*)(oBC66explanation),b1);
  4671. }/*]*/
  4672. r66print_as_fatal_error((T66*)(oBC13eh));
  4673. }
  4674. /*FI]*/
  4675. /*[IF*/
  4676. if((/*RF2*/(C)->_is_deferred/*16*/)){
  4677. /*[IRF3.6append*/{T0* b1=(/*RF2*/((T61*)((/*RF2*/(C)->_name/*18*/)))->_to_string/*8*/);
  4678. r7append((T7*)(oBC66explanation),b1);
  4679. }/*]*/
  4680. /*[IRF3.6append*/{T0* b1=((T0*)ms51_152958);
  4681. r7append((T7*)(oBC66explanation),b1);
  4682. }/*]*/
  4683. r66print_as_warning((T66*)(oBC13eh));
  4684. }
  4685. /*FI]*/
  4686. _rc=r51run_class(C);
  4687. r50set_at_run_time(((T50*)_rc));
  4688. _f=r51look_up_for(C,_rc,a1);
  4689. /*[IF*/
  4690. if((_f)==((void*)(NULL))){
  4691. r66add_position((/*RF2*/(((T138*)a1))->_start_position/*4*/));
  4692. r51fatal_error(((T0*)ms51_40050));
  4693. }
  4694. /*FI]*/
  4695. R=_f;
  4696. if(NULL!=(R)){
  4697. switch(((T0*)R)->id){
  4698. case 303:
  4699. break;
  4700. default:
  4701. R=NULL;
  4702. }
  4703. }/*[IF*/
  4704. if((R)==((void*)(NULL))){
  4705. {T68 se_tmp0;
  4706. r66add_position((*(se_tmp0=X90start_position(_f),&se_tmp0)));
  4707. }
  4708. r51fatal_error(((T0*)ms51_59892));
  4709. }
  4710. /*FI]*/
  4711. return R;
  4712. }
  4713.  
  4714.  
  4715. T6 r51is_any(T51* C){
  4716. T6 R=0;
  4717. R=(((T0*)ms15_696))==((void*)((/*RF2*/((T61*)((/*RF2*/(C)->_name/*18*/)))->_to_string/*8*/)));
  4718. return R;
  4719. }
  4720.  
  4721.  
  4722. void r51fatal_undefine(T51* C,T0* a1){
  4723. /*[IRF3.6append*/{T0* b1=((T0*)ms51_36270);
  4724. r7append((T7*)(oBC66explanation),b1);
  4725. }/*]*/
  4726. /*[IRF3.6append*/{T0* b1=X82to_string(a1);
  4727. r7append((T7*)(oBC66explanation),b1);
  4728. }/*]*/
  4729. /*[IRF3.6append*/{T0* b1=((T0*)ms51_3102);
  4730. r7append((T7*)(oBC66explanation),b1);
  4731. }/*]*/
  4732. /*[IRF3.6append*/{T0* b1=(/*RF2*/((T61*)((/*RF2*/(C)->_name/*18*/)))->_to_string/*8*/);
  4733. r7append((T7*)(oBC66explanation),b1);
  4734. }/*]*/
  4735. r51fatal_error(((T0*)ms51_160a));
  4736. }
  4737.  
  4738.  
  4739. T0* r51type_any(void){
  4740. if(fBC13type_any==0){fBC13type_any=1;{
  4741. T68 _unknown_position={NULL,0};
  4742. {T259*n=((T259*)malloc(sizeof(*n))/*8*/);
  4743. *n=M259;
  4744. oBC13type_any=((T0*)n);
  4745. r259make(n,_unknown_position);
  4746. }
  4747. }}
  4748. return oBC13type_any;
  4749. }
  4750.  
  4751.  
  4752. T0* r51super_look_up_for(T51* C,T0* a1,T0* a2){
  4753. T0* R=NULL;
  4754. /*[IF*/
  4755. if(((/*RF2*/(C)->_parent_list/*34*/))==((void*)(NULL))){
  4756. /*[IF*/
  4757. if(r51is_general(C)){
  4758. R=NULL;
  4759. }
  4760. else{
  4761. R=r51look_up_for((T51*)(r51class_any()),a1,a2);
  4762. }
  4763. /*FI]*/
  4764. }
  4765. else{
  4766. R=r57look_up_for((T57*)((/*RF2*/(C)->_parent_list/*34*/)),a1,a2);
  4767. }
  4768. /*FI]*/
  4769. return R;
  4770. }
  4771.  
  4772.  
  4773. T0* r51smallest_ancestor(T51* C,T0* a1,T0* a2){
  4774. T0* R=NULL;
  4775. /*[IF*/
  4776. if(r51is_any(C)){
  4777. R=a1;
  4778. }
  4779.  else if((X52run_time_mark(a1))==((void*)(X52run_time_mark(a2)))){
  4780. R=a1;
  4781. }
  4782.  else if(((/*RF2*/(C)->_parent_list/*34*/))==((void*)(NULL))){
  4783. R=r51type_any();
  4784. }
  4785.  else if(((/*RF2*/((T51*)(X52base_class(a2)))->_parent_list/*34*/))==((void*)(NULL))){
  4786. R=r51type_any();
  4787. }
  4788. else{
  4789. R=r57smallest_ancestor((T57*)((/*RF2*/(C)->_parent_list/*34*/)),a1,a2);
  4790. }
  4791. /*FI]*/
  4792. return R;
  4793. }
  4794.  
  4795.  
  4796. T0* r51run_require(T51* C,T0* a1){
  4797. T0* R=NULL;
  4798. T0* _ct=NULL;
  4799. r383require_start((T383*)(oBC13assertion_collector));
  4800. _ct=/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)a1))->_current_type/*8*/);
  4801. r51collect_assertion(C,/*SSWARF2*//*X334name*/(/*RF2*/(((T368*)a1))->_name/*12*/));
  4802. R=r383require_end((T383*)(oBC13assertion_collector),a1,_ct);
  4803. return R;
  4804. }
  4805.  
  4806.  
  4807. T6 r51is_a_vncg(T51* C,T0* a1,T0* a2){
  4808. T6 R=0;
  4809. /*[IF*/
  4810. if(((/*RF2*/(C)->_parent_list/*34*/))!=((void*)(NULL))){
  4811. R=r57is_a_vncg((T57*)((/*RF2*/(C)->_parent_list/*34*/)),X52run_type(a1),X52run_type(a2));
  4812. }
  4813. /*FI]*/
  4814. return R;
  4815. }
  4816.  
  4817.  
  4818. T0* r51class_general(void){
  4819. if(fBC13class_general==0){fBC13class_general=1;{
  4820. oBC13class_general=r49get_class(((T0*)ms15_6307));
  4821. }}
  4822. return oBC13class_general;
  4823. }
  4824.  
  4825.  
  4826. T0* r51general_default_rescue(T51* C){
  4827. T0* R=NULL;
  4828. /*[IF*/
  4829. if(r91has((T91*)((/*RF2*/(C)->_feature_dictionary/*54*/)),((T0*)ms15_27034))){
  4830. R=r91at((T91*)((/*RF2*/(C)->_feature_dictionary/*54*/)),((T0*)ms15_27034));
  4831. if(NULL!=(R)){
  4832. switch(((T0*)R)->id){
  4833. case 303:
  4834. break;
  4835. default:
  4836. R=NULL;
  4837. }
  4838. }}
  4839. /*FI]*/
  4840. return R;
  4841. }
  4842.  
  4843.  
  4844. void r51collect_invariant(T51* C,T0* a1){
  4845. /*[IF*/
  4846. if(((/*RF2*/(C)->_parent_list/*34*/))!=((void*)(NULL))){
  4847. r57collect_invariant((T57*)((/*RF2*/(C)->_parent_list/*34*/)),a1);
  4848. }
  4849. /*FI]*/
  4850. /*[IF*/
  4851. if(((/*RF2*/(C)->_class_invariant/*46*/))!=((void*)(NULL))){
  4852. r383invariant_add_last((T383*)(oBC13assertion_collector),(/*RF2*/(C)->_class_invariant/*46*/));
  4853. }
  4854. /*FI]*/
  4855. }
  4856.  
  4857.  
  4858. T6 r51is_general(T51* C){
  4859. T6 R=0;
  4860. R=(((T0*)ms15_6307))==((void*)((/*RF2*/((T61*)((/*RF2*/(C)->_name/*18*/)))->_to_string/*8*/)));
  4861. return R;
  4862. }
  4863.  
  4864.  
  4865. T6 r51has_simple_feature_name(T51* C,T0* a1){
  4866. T6 R=0;
  4867. T68 _unknown_position={NULL,0};
  4868. r138make((T138*)(r51mem_fn()),a1,_unknown_position);
  4869. R=r51has(C,r51mem_fn());
  4870. return R;
  4871. }
  4872.  
  4873.  
  4874. void r51fatal_error_vdrd6(T0* a1,T0* a2,T0* a3){
  4875. {T68 se_tmp0;
  4876. r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
  4877. }
  4878. {T68 se_tmp0;
  4879. r66add_position((*(se_tmp0=X90start_position(a2),&se_tmp0)));
  4880. }
  4881. /*[IRF3.6append*/{T0* b1=((T0*)ms51_17730);
  4882. r7append((T7*)(oBC66explanation),b1);
  4883. }/*]*/
  4884. /*[IRF3.6append*/{T0* b1=a3;
  4885. r7append((T7*)(oBC66explanation),b1);
  4886. }/*]*/
  4887. r66print_as_fatal_error((T66*)(oBC13eh));
  4888. }
  4889.  
  4890.  
  4891. T0* r51original_name(T51* C,T0* a1,T0* a2){
  4892. T0* R=NULL;
  4893. /*[IF*/
  4894. if((C)==((void*)(a1))){
  4895. R=a2;
  4896. }
  4897.  else if(((/*RF2*/(C)->_parent_list/*34*/))!=((void*)(NULL))){
  4898. R=r57original_name((T57*)((/*RF2*/(C)->_parent_list/*34*/)),a1,a2);
  4899. }
  4900. else{
  4901. R=r51original_name(((T51*)a1),a1,a2);
  4902. /*[IF*/
  4903. if((R)==((void*)(NULL))){
  4904. R=a2;
  4905. {T68 se_tmp0;
  4906. r66add_position((*(se_tmp0=X82start_position(a2),&se_tmp0)));
  4907. }
  4908. /*[IRF3.6append*/{T0* b1=(/*RF2*/((T61*)((/*RF2*/(((T51*)a1))->_name/*18*/)))->_to_string/*8*/);
  4909. r7append((T7*)(oBC66explanation),b1);
  4910. }/*]*/
  4911. /*[IRF3.6append*/{T0* b1=((T0*)ms51_780);
  4912. r7append((T7*)(oBC66explanation),b1);
  4913. }/*]*/
  4914. /*[IRF3.6append*/{T0* b1=(/*RF2*/((T61*)((/*RF2*/(C)->_name/*18*/)))->_to_string/*8*/);
  4915. r7append((T7*)(oBC66explanation),b1);
  4916. }/*]*/
  4917. /*[IRF3.6append*/{T0* b1=((T0*)ms51_120000);
  4918. r7append((T7*)(oBC66explanation),b1);
  4919. }/*]*/
  4920. r66print_as_warning((T66*)(oBC13eh));
  4921. }
  4922. /*FI]*/
  4923. }
  4924. /*FI]*/
  4925. return R;
  4926. }
  4927.  
  4928.  
  4929. void r51get_started(T51* C){
  4930. /*[IF*/
  4931. if(((/*RF2*/(C)->_feature_clause_list/*42*/))!=((void*)(NULL))){
  4932. r95get_started((T95*)((/*RF2*/(C)->_feature_clause_list/*42*/)),(/*RF2*/(C)->_feature_dictionary/*54*/));
  4933. }
  4934. /*FI]*/
  4935. /*[IF*/
  4936. if(((/*RF2*/(C)->_parent_list/*34*/))!=((void*)(NULL))){
  4937. r57get_started((T57*)((/*RF2*/(C)->_parent_list/*34*/)));
  4938. }
  4939. /*FI]*/
  4940. /*[IF*/
  4941. if(((/*RF2*/(C)->_end_comment/*50*/))!=((void*)(NULL))){
  4942. r81good_end((T81*)((/*RF2*/(C)->_end_comment/*50*/)),(/*RF2*/(C)->_name/*18*/));
  4943. }
  4944. /*FI]*/
  4945. /*[IF*/
  4946. if(((/*RF2*/(C)->_parent_list/*34*/))!=((void*)(NULL))){
  4947. /*[IRF3.3clear*/((((T64*)((T64*)(oBC51visited))))->_upper)=(-(1));
  4948. /*]*/
  4949. r64add_last((T64*)(oBC51visited),(T0*)C);
  4950. r57inherit_cycle_check((T57*)((/*RF2*/(C)->_parent_list/*34*/)));
  4951. }
  4952. /*FI]*/
  4953. /*[IF*/
  4954. if(((r47all_check((T47*)(oBC13run_control)))&&((/*RF2*/(C)->_is_deferred/*16*/)))&&(((/*RF2*/(C)->_creation_clause_list/*38*/))!=((void*)(NULL)))){
  4955. r66add_position((/*RF2*/((T61*)((/*RF2*/(C)->_name/*18*/)))->_start_position/*0*/));
  4956. {T68 se_tmp0;
  4957. r51warning((*(se_tmp0=r77start_position((T77*)((/*RF2*/(C)->_creation_clause_list/*38*/))),&se_tmp0)),((T0*)ms51_171472));
  4958. }
  4959. }
  4960. /*FI]*/
  4961. }
  4962.  
  4963.  
  4964. void r51id_extra_information(T51* C,T0* a1){
  4965. r48put_string(((T48*)a1),((T0*)ms51_11016));
  4966. r48put_string(((T48*)a1),(/*RF2*/((T61*)((/*RF2*/(C)->_name/*18*/)))->_to_string/*8*/));
  4967. r48put_string(((T48*)a1),((T0*)ms51_14040));
  4968. /*[IF*/
  4969. if(((/*RF2*/(C)->_parent_list/*34*/))!=((void*)(NULL))){
  4970. r57id_extra_information((T57*)((/*RF2*/(C)->_parent_list/*34*/)),a1);
  4971. }
  4972. else{
  4973. r48put_string(((T48*)a1),((T0*)ms51_160));
  4974. }
  4975. /*FI]*/
  4976. }
  4977.  
  4978.  
  4979. T0* r51going_up(T51* C,T0* a1,T0* a2,T0* a3){
  4980. T0* R=NULL;
  4981. /*[IF*/
  4982. if(((/*RF2*/(C)->_parent_list/*34*/))==((void*)(NULL))){
  4983. R=r51going_up((T51*)(r51class_any()),a1,a2,a3);
  4984. }
  4985. else{
  4986. R=r57going_up((T57*)((/*RF2*/(C)->_parent_list/*34*/)),a1,a2,a3);
  4987. }
  4988. /*FI]*/
  4989. return R;
  4990. }
  4991.  
  4992.  
  4993. T0* r51run_class(T51* C){
  4994. T0* R=NULL;
  4995. T0* _type=NULL;
  4996. T0* _n=NULL;
  4997. T0* _rcd=NULL;
  4998. _n=(/*RF2*/((T61*)((/*RF2*/(C)->_name/*18*/)))->_to_string/*8*/);
  4999. _rcd=oBC49run_class_dictionary;
  5000. /*[IF*/
  5001. if(r55has(((T55*)_rcd),_n)){
  5002. R=r55at(((T55*)_rcd),_n);
  5003. }
  5004. else{
  5005. {T272*n=((T272*)malloc(sizeof(*n))/*8*/);
  5006. *n=M272;
  5007. /*[IRF3.3make*/((((T272*)(n)))->_base_class_name)=((/*RF2*/(C)->_name/*18*/));
  5008. /*]*/
  5009. _type=((T0*)n);
  5010. }
  5011. R=r272run_class(((T272*)_type));
  5012. }
  5013. /*FI]*/
  5014. return R;
  5015. }
  5016.  
  5017.  
  5018. T0* r51run_feature_for(T51* C,T0* a1,T0* a2,T0* a3,T0* a4){
  5019. T0* R=NULL;
  5020. T0* _bcn=NULL;
  5021. T0* _type_formal_generic=NULL;
  5022. T0* _constraint=NULL;
  5023. T0* _nfn=NULL;
  5024. T0* _top_bc=NULL;
  5025. _type_formal_generic=X104result_type(a2);
  5026. if(NULL!=(_type_formal_generic)){
  5027. switch(((T0*)_type_formal_generic)->id){
  5028. case 280:
  5029. break;
  5030. default:
  5031. _type_formal_generic=NULL;
  5032. }
  5033. }/*[IF*/
  5034. if((_type_formal_generic)!=((void*)(NULL))){
  5035. _constraint=r280constraint(((T280*)_type_formal_generic));
  5036. /*[IF*/
  5037. if((_constraint)==((void*)(NULL))){
  5038. }
  5039.  else if(!(r280is_a(((T280*)_type_formal_generic),_constraint))){
  5040. r66print_as_error((T66*)(oBC13eh));
  5041. {T68 se_tmp0;
  5042. r66add_position((*(se_tmp0=X82start_position(a3),&se_tmp0)));
  5043. }
  5044. r51fatal_error(((T0*)ms51_63712));
  5045. }
  5046. /*FI]*/
  5047. }
  5048. /*FI]*/
  5049. _nfn=a3;
  5050. _top_bc=X104static_result_base_class(a2);
  5051. /*[IF*/
  5052. if((_top_bc)!=((void*)(NULL))){
  5053. /*[IF*/
  5054. if(((C)==((void*)(_top_bc)))||(r51is_subclass_of(C,_top_bc))){
  5055. /*[IF*/
  5056. if(r51has(((T51*)_top_bc),a3)){
  5057. _nfn=r51new_name_of(C,_top_bc,a3);
  5058. }
  5059. /*FI]*/
  5060. }
  5061. /*FI]*/
  5062. }
  5063. /*FI]*/
  5064. R=r50get_feature(((T50*)a1),_nfn);
  5065. /*[IF*/
  5066. if((R)==((void*)(NULL))){
  5067. r66feature_not_found(a3);
  5068. r66print_as_fatal_error((T66*)(oBC13eh));
  5069. }
  5070. /*FI]*/
  5071. /*[IF*/
  5072. if(!(X104is_current(a2))){
  5073. _bcn=(/*RF2*/((T51*)(X52base_class(a4)))->_name/*18*/);
  5074. /*[IF*/
  5075. if(!(X334is_exported_in(R,_bcn))){
  5076. {T68 se_tmp0;
  5077. r66add_position((*(se_tmp0=X334start_position(R),&se_tmp0)));
  5078. }
  5079. /*[IRF3.6append*/{T0* b1=((T0*)ms51_23730);
  5080. r7append((T7*)(oBC66explanation),b1);
  5081. }/*]*/
  5082. /*[IRF3.6append*/{T0* b1=X82to_string(a3);
  5083. r7append((T7*)(oBC66explanation),b1);
  5084. }/*]*/
  5085. {T68 se_tmp0;
  5086. r51error((*(se_tmp0=X82start_position(a3),&se_tmp0)),((T0*)ms51_4949));
  5087. }
  5088. {T68 se_tmp0;
  5089. r66add_position((*(se_tmp0=X82start_position(a3),&se_tmp0)));
  5090. }
  5091. /*[IRF3.6append*/{T0* b1=((T0*)ms51_68094);
  5092. r7append((T7*)(oBC66explanation),b1);
  5093. }/*]*/
  5094. /*[IRF3.6append*/{T0* b1=X52run_time_mark(a4);
  5095. r7append((T7*)(oBC66explanation),b1);
  5096. }/*]*/
  5097. r51fatal_error(((T0*)ms14_46));
  5098. }
  5099. /*FI]*/
  5100. }
  5101. /*FI]*/
  5102. {T68 se_tmp0;
  5103. X90check_obsolete(/*SSWA2*//*X334base_feature*/(/*RF2*/(((T368*)R))->_base_feature/*24*/),(*(se_tmp0=X82start_position(a3),&se_tmp0)));
  5104. }
  5105. return R;
  5106. }
  5107.  
  5108.  
  5109. void r51fatal_error(T0* a1){
  5110. /*[IRF3.6append*/{T0* b1=a1;
  5111. r7append((T7*)(oBC66explanation),b1);
  5112. }/*]*/
  5113. r66print_as_fatal_error((T66*)(oBC13eh));
  5114. }
  5115.  
  5116.  
  5117. T6 r51once_flag(T51* C,T0* a1){
  5118. T6 R=0;
  5119. /*[IF*/
  5120. if(((/*RF2*/(C)->_once_mark_list/*58*/))==((void*)(NULL))){
  5121. {T31*n=((T31*)malloc(sizeof(*n))/*16*/);
  5122. *n=M31;
  5123. r31with_capacity(n,4);
  5124. (/*SFN*/C->_once_mark_list)=((T0*)n);
  5125. }
  5126. r31add_last((T31*)((/*RF2*/(C)->_once_mark_list/*58*/)),a1);
  5127. }
  5128.  else if(r31fast_has((T31*)((/*RF2*/(C)->_once_mark_list/*58*/)),a1)){
  5129. R=1;
  5130. }
  5131. else{
  5132. r31add_last((T31*)((/*RF2*/(C)->_once_mark_list/*58*/)),a1);
  5133. }
  5134. /*FI]*/
  5135. return R;
  5136. }
  5137.  
  5138.  
  5139. T0* r51get_copy(T51* C){
  5140. T0* R=NULL;
  5141. R=r91at((T91*)((/*RF2*/(C)->_feature_dictionary/*54*/)),((T0*)ms15_1772));
  5142. return R;
  5143. }
  5144.  
  5145.  
  5146. T0* r51expanded_initializer(T51* C,T0* a1){
  5147. T0* R=NULL;
  5148. /*[IF*/
  5149. if(((/*RF2*/(C)->_creation_clause_list/*38*/))!=((void*)(NULL))){
  5150. R=r77expanded_initializer((T77*)((/*RF2*/(C)->_creation_clause_list/*38*/)),a1);
  5151. }
  5152. /*FI]*/
  5153. return R;
  5154. }
  5155.  
  5156.  
  5157. T6 r51is_subclass_of_aux(T51* C,T0* a1){
  5158. T6 R=0;
  5159. /*[IF*/
  5160. if(r64fast_has((T64*)(oBC51visited),(T0*)C)){
  5161. }
  5162. else{
  5163. r64add_last((T64*)(oBC51visited),(T0*)C);
  5164. /*[IF*/
  5165. if(((/*RF2*/(C)->_parent_list/*34*/))!=((void*)(NULL))){
  5166. R=r57has_parent((T57*)((/*RF2*/(C)->_parent_list/*34*/)),a1);
  5167. }
  5168.  else if(!(r64fast_has((T64*)(oBC51visited),r51class_any()))){
  5169. R=r51is_subclass_of_aux((T51*)(r51class_any()),a1);
  5170. }
  5171. /*FI]*/
  5172. }
  5173. /*FI]*/
  5174. return R;
  5175. }
  5176.  
  5177.